diff options
Diffstat (limited to 'coverage-report')
915 files changed, 8371 insertions, 8517 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 1ddbb91..ab8f165 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 8ca5bc8..4926295 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 b6db3a3..0202a6d 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 3ce5bff..8d28ef9 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 673c2d7..4c1fd66 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 293ade9..d999bdd 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 c53f3a2..7add3c0 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 a0c0bed..2180e79 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 f1c736d..ed13b34 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 fe6ef8a..fb37b5e 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 0c63994..e5c1600 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 a5095db..d524777 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 bcbb7df..de51d77 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 417faf1..a3d402e 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 9a4878f..31839e8 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 ea885b6..f5f6489 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 49d5990..cba88dc 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 e3ec7e1..0018a4c 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 dd059c2..2fb8e82 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 b58a92c..7dc9cbc 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 6e3d632..77c0ad3 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 731099e..03ac8b3 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 49bb35c..c137ec0 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 895a56b..2956a1b 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 92673f8..2c297e6 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 16d0219..dec3c79 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 8ec16ee..2a773f5 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 166f67b..156412e 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 7809632..4d49f81 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 586bca8..cb7bb66 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 40af9fe..4dac649 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 7339944..9aef6a8 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 d03ed59..3129e17 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 f5f5fff..cfce929 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 c1204c2..e38907a 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 f5a7dfc..89e3fb9 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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">13214025</td> + <td class="coverFnHi">13214222</td> </tr> <tr> <td class="coverFn"><a href="endian.h.gcov.html#295">cpu_to_be64</a></td> - <td class="coverFnHi">15006222</td> + <td class="coverFnHi">15005894</td> </tr> <tr> <td class="coverFn"><a href="endian.h.gcov.html#340">be16_to_cpu</a></td> - <td class="coverFnHi">19962143</td> + <td class="coverFnHi">19790457</td> </tr> <tr> <td class="coverFn"><a href="endian.h.gcov.html#304">cpu_to_be32</a></td> - <td class="coverFnHi">28693593</td> + <td class="coverFnHi">28693576</td> </tr> <tr> <td class="coverFn"><a href="endian.h.gcov.html#331">be32_to_cpu</a></td> - <td class="coverFnHi">36860499</td> + <td class="coverFnHi">36722870</td> </tr> <tr> <td class="coverFn"><a href="endian.h.gcov.html#322">be64_to_cpu</a></td> - <td class="coverFnHi">116121424</td> + <td class="coverFnHi">115857730</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 4420f54..fbc33fe 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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">19962143</td> + <td class="coverFnHi">19790457</td> </tr> <tr> <td class="coverFn"><a href="endian.h.gcov.html#331">be32_to_cpu</a></td> - <td class="coverFnHi">36860499</td> + <td class="coverFnHi">36722870</td> </tr> <tr> <td class="coverFn"><a href="endian.h.gcov.html#322">be64_to_cpu</a></td> - <td class="coverFnHi">116121424</td> + <td class="coverFnHi">115857730</td> </tr> <tr> <td class="coverFn"><a href="endian.h.gcov.html#313">cpu_to_be16</a></td> - <td class="coverFnHi">13214025</td> + <td class="coverFnHi">13214222</td> </tr> <tr> <td class="coverFn"><a href="endian.h.gcov.html#304">cpu_to_be32</a></td> - <td class="coverFnHi">28693593</td> + <td class="coverFnHi">28693576</td> </tr> <tr> <td class="coverFn"><a href="endian.h.gcov.html#295">cpu_to_be64</a></td> - <td class="coverFnHi">15006222</td> + <td class="coverFnHi">15005894</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 781ab1f..52848f3 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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"> 15006222 : static inline beint64_t cpu_to_be64(uint64_t native)</span></a> +<a name="297"><span class="lineNum"> 297 </span> :<span class="lineCov"> 15005894 : 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"> 15006222 : return CPU_TO_BE64(native);</span></a> +<a name="299"><span class="lineNum"> 299 </span> :<span class="lineCov"> 15005894 : 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"> 28693594 : static inline beint32_t cpu_to_be32(uint32_t native)</span></a> +<a name="306"><span class="lineNum"> 306 </span> :<span class="lineCov"> 28693577 : 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"> 28693594 : return CPU_TO_BE32(native);</span></a> +<a name="308"><span class="lineNum"> 308 </span> :<span class="lineCov"> 28693577 : 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"> 13214026 : static inline beint16_t cpu_to_be16(uint16_t native)</span></a> +<a name="315"><span class="lineNum"> 315 </span> :<span class="lineCov"> 13214223 : 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"> 13214026 : return CPU_TO_BE16(native);</span></a> +<a name="317"><span class="lineNum"> 317 </span> :<span class="lineCov"> 13214223 : 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"> 116121424 : static inline uint64_t be64_to_cpu(beint64_t be_val)</span></a> +<a name="324"><span class="lineNum"> 324 </span> :<span class="lineCov"> 115857730 : 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"> 116121424 : return BE64_TO_CPU(be_val);</span></a> +<a name="326"><span class="lineNum"> 326 </span> :<span class="lineCov"> 115857730 : 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"> 36860603 : static inline uint32_t be32_to_cpu(beint32_t be_val)</span></a> +<a name="333"><span class="lineNum"> 333 </span> :<span class="lineCov"> 36722974 : 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"> 36860576 : return BE32_TO_CPU(be_val);</span></a> +<a name="335"><span class="lineNum"> 335 </span> :<span class="lineCov"> 36722947 : 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"> 19962202 : static inline uint16_t be16_to_cpu(beint16_t be_val)</span></a> +<a name="342"><span class="lineNum"> 342 </span> :<span class="lineCov"> 19790516 : 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"> 19962202 : return BE16_TO_CPU(be_val);</span></a> +<a name="344"><span class="lineNum"> 344 </span> :<span class="lineCov"> 19790516 : 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 f355b2a..5dfe4bc 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 75bb7d5..d6ebdc8 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 c25040b..93a162d 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 82b08e6..e8e13e3 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 767a5fe..0534972 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 8263611..270ef82 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 1ad7018..7b4a314 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 99524db..cdcf554 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 baa066b..1a54e3e 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 0ddfb6a..1265b0c 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 8d078d8..57b4aa0 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 669a77a..63de60f 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 d55ef45..aedfb55 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 a854efd..b33ec14 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 2c82dcb..1380e54 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 b3016cb..a389dbf 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 b741ff5..e07b3b5 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 ff13fd8..e502c6b 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 285283a..fd504e1 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 f69c5cb..3b0c549 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 36847f9..6773101 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 73dccc2..6befa01 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 ef95c27..0f17a31 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">7</td> diff --git a/coverage-report/ccan/heap/test/run.c.func.html b/coverage-report/ccan/heap/test/run.c.func.html index 4c2b6b4..3357286 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">7</td> diff --git a/coverage-report/ccan/heap/test/run.c.gcov.html b/coverage-report/ccan/heap/test/run.c.gcov.html index f75bc53..7f24c80 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">7</td> diff --git a/coverage-report/ccan/list/index-sort-b.html b/coverage-report/ccan/list/index-sort-b.html index 08b7a01..0f7a91a 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 %</td> - <td class="coverNumHi">18 / 19</td> <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">3 / 3</td> + <td class="coverNumHi">96 / 96</td> + <td class="coverPerHi">100.0 %</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 %</td> + <td class="coverNumHi">18 / 19</td> <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">96 / 96</td> - <td class="coverPerHi">100.0 %</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 57b7846..5e3c639 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 cbffa37..bf6e42b 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 30d6638..1fae424 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 51f57ac..ba6f073 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 92bb2c4..775ed15 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 2292fbb..c796164 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 96ba71c..227be3c 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">20</td> @@ -98,35 +98,35 @@ </tr> <tr> <td class="coverFn"><a href="list.h.gcov.html#141">list_head_init</a></td> - <td class="coverFnHi">2028</td> + <td class="coverFnHi">1714</td> </tr> <tr> <td class="coverFn"><a href="list.h.gcov.html#248">list_add_tail_</a></td> - <td class="coverFnHi">5056</td> + <td class="coverFnHi">3235</td> </tr> <tr> <td class="coverFn"><a href="list.h.gcov.html#473">list_pop_</a></td> - <td class="coverFnHi">5498</td> + <td class="coverFnHi">3522</td> </tr> <tr> <td class="coverFn"><a href="list.h.gcov.html#225">list_add_before_</a></td> - <td class="coverFnHi">6025</td> + <td class="coverFnHi">4057</td> </tr> <tr> <td class="coverFn"><a href="list.h.gcov.html#202">list_add_</a></td> - <td class="coverFnHi">14689</td> + <td class="coverFnHi">14679</td> </tr> <tr> <td class="coverFn"><a href="list.h.gcov.html#176">list_add_after_</a></td> - <td class="coverFnHi">14754</td> + <td class="coverFnHi">14735</td> </tr> <tr> <td class="coverFn"><a href="list.h.gcov.html#368">list_del_from</a></td> - <td class="coverFnHi">15305</td> + <td class="coverFnHi">15148</td> </tr> <tr> <td class="coverFn"><a href="list.h.gcov.html#322">list_del_</a></td> - <td class="coverFnHi">20515</td> + <td class="coverFnHi">18539</td> </tr> <tr> <td class="coverFn"><a href="list.h.gcov.html#302">list_empty_nocheck</a></td> @@ -134,19 +134,19 @@ </tr> <tr> <td class="coverFn"><a href="list.h.gcov.html#449">list_top_</a></td> - <td class="coverFnHi">133480</td> + <td class="coverFnHi">132944</td> </tr> <tr> <td class="coverFn"><a href="list.h.gcov.html#265">list_empty_</a></td> - <td class="coverFnHi">164548</td> + <td class="coverFnHi">158071</td> </tr> <tr> <td class="coverFn"><a href="list.h.gcov.html#807">list_node_to_off_</a></td> - <td class="coverFnHi">378046</td> + <td class="coverFnHi">313496</td> </tr> <tr> <td class="coverFn"><a href="list.h.gcov.html#811">list_node_from_off_</a></td> - <td class="coverFnHi">605744</td> + <td class="coverFnHi">483099</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 9ec7998..c5f4070 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">20</td> @@ -70,19 +70,19 @@ </tr> <tr> <td class="coverFn"><a href="list.h.gcov.html#202">list_add_</a></td> - <td class="coverFnHi">14689</td> + <td class="coverFnHi">14679</td> </tr> <tr> <td class="coverFn"><a href="list.h.gcov.html#176">list_add_after_</a></td> - <td class="coverFnHi">14754</td> + <td class="coverFnHi">14735</td> </tr> <tr> <td class="coverFn"><a href="list.h.gcov.html#225">list_add_before_</a></td> - <td class="coverFnHi">6025</td> + <td class="coverFnHi">4057</td> </tr> <tr> <td class="coverFn"><a href="list.h.gcov.html#248">list_add_tail_</a></td> - <td class="coverFnHi">5056</td> + <td class="coverFnHi">3235</td> </tr> <tr> <td class="coverFn"><a href="list.h.gcov.html#638">list_append_list_</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">20515</td> + <td class="coverFnHi">18539</td> </tr> <tr> <td class="coverFn"><a href="list.h.gcov.html#368">list_del_from</a></td> - <td class="coverFnHi">15305</td> + <td class="coverFnHi">15148</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">164548</td> + <td class="coverFnHi">158071</td> </tr> <tr> <td class="coverFn"><a href="list.h.gcov.html#302">list_empty_nocheck</a></td> @@ -114,11 +114,11 @@ </tr> <tr> <td class="coverFn"><a href="list.h.gcov.html#141">list_head_init</a></td> - <td class="coverFnHi">2028</td> + <td class="coverFnHi">1714</td> </tr> <tr> <td class="coverFn"><a href="list.h.gcov.html#811">list_node_from_off_</a></td> - <td class="coverFnHi">605744</td> + <td class="coverFnHi">483099</td> </tr> <tr> <td class="coverFn"><a href="list.h.gcov.html#153">list_node_init</a></td> @@ -126,11 +126,11 @@ </tr> <tr> <td class="coverFn"><a href="list.h.gcov.html#807">list_node_to_off_</a></td> - <td class="coverFnHi">378046</td> + <td class="coverFnHi">313496</td> </tr> <tr> <td class="coverFn"><a href="list.h.gcov.html#473">list_pop_</a></td> - <td class="coverFnHi">5498</td> + <td class="coverFnHi">3522</td> </tr> <tr> <td class="coverFn"><a href="list.h.gcov.html#670">list_prepend_list_</a></td> @@ -146,7 +146,7 @@ </tr> <tr> <td class="coverFn"><a href="list.h.gcov.html#449">list_top_</a></td> - <td class="coverFnHi">133480</td> + <td class="coverFnHi">132944</td> </tr> </table> <br> diff --git a/coverage-report/ccan/list/list.h.gcov.html b/coverage-report/ccan/list/list.h.gcov.html index 2cfd8e7..413259b 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">20</td> @@ -211,10 +211,10 @@ <a name="140"><span class="lineNum"> 140 </span> : : * list_head_init(&parent->children);</a> <a name="141"><span class="lineNum"> 141 </span> : : * parent->num_children = 0;</a> <a name="142"><span class="lineNum"> 142 </span> : : */</a> -<a name="143"><span class="lineNum"> 143 </span> :<span class="lineCov"> 2028 : static inline void list_head_init(struct list_head *h)</span></a> +<a name="143"><span class="lineNum"> 143 </span> :<span class="lineCov"> 1714 : static inline void list_head_init(struct list_head *h)</span></a> <a name="144"><span class="lineNum"> 144 </span> : : {</a> -<a name="145"><span class="lineNum"> 145 </span> :<span class="lineCov"> 2028 : h->n.next = h->n.prev = &h->n;</span></a> -<a name="146"><span class="lineNum"> 146 </span> :<span class="lineCov"> 2028 : }</span></a> +<a name="145"><span class="lineNum"> 145 </span> :<span class="lineCov"> 1714 : h->n.next = h->n.prev = &h->n;</span></a> +<a name="146"><span class="lineNum"> 146 </span> :<span class="lineCov"> 1714 : }</span></a> <a name="147"><span class="lineNum"> 147 </span> : : </a> <a name="148"><span class="lineNum"> 148 </span> : : /**</a> <a name="149"><span class="lineNum"> 149 </span> : : * list_node_init - initialize a list_node</a> @@ -246,17 +246,17 @@ <a name="175"><span class="lineNum"> 175 </span> : : * list_add_after(&h, &c1.list, &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"> 14754 : static inline void list_add_after_(struct list_head *h,</span></a> +<a name="178"><span class="lineNum"> 178 </span> :<span class="lineCov"> 14735 : 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"> 14754 : n->next = p->next;</span></a> -<a name="184"><span class="lineNum"> 184 </span> :<span class="lineCov"> 14754 : n->prev = p;</span></a> -<a name="185"><span class="lineNum"> 185 </span> :<span class="lineCov"> 14754 : p->next->prev = n;</span></a> -<a name="186"><span class="lineNum"> 186 </span> :<span class="lineCov"> 14754 : p->next = n;</span></a> -<a name="187"><span class="lineNum"> 187 </span> :<span class="lineCov"> 14754 : (void)list_debug(h, abortstr);</span></a> -<a name="188"><span class="lineNum"> 188 </span> :<span class="lineCov"> 14754 : }</span></a> +<a name="183"><span class="lineNum"> 183 </span> :<span class="lineCov"> 14735 : n->next = p->next;</span></a> +<a name="184"><span class="lineNum"> 184 </span> :<span class="lineCov"> 14735 : n->prev = p;</span></a> +<a name="185"><span class="lineNum"> 185 </span> :<span class="lineCov"> 14735 : p->next->prev = n;</span></a> +<a name="186"><span class="lineNum"> 186 </span> :<span class="lineCov"> 14735 : p->next = n;</span></a> +<a name="187"><span class="lineNum"> 187 </span> :<span class="lineCov"> 14735 : (void)list_debug(h, abortstr);</span></a> +<a name="188"><span class="lineNum"> 188 </span> :<span class="lineCov"> 14735 : }</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->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"> 14689 : static inline void list_add_(struct list_head *h,</span></a> +<a name="204"><span class="lineNum"> 204 </span> :<span class="lineCov"> 14679 : 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"> 14689 : list_add_after_(h, &h->n, n, abortstr);</span></a> -<a name="209"><span class="lineNum"> 209 </span> :<span class="lineCov"> 14689 : }</span></a> +<a name="208"><span class="lineNum"> 208 </span> :<span class="lineCov"> 14679 : list_add_after_(h, &h->n, n, abortstr);</span></a> +<a name="209"><span class="lineNum"> 209 </span> :<span class="lineCov"> 14679 : }</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> @@ -295,17 +295,17 @@ <a name="224"><span class="lineNum"> 224 </span> : : * list_add_before(&h, &c3.list, &c2.list);</a> <a name="225"><span class="lineNum"> 225 </span> : : */</a> <a name="226"><span class="lineNum"> 226 </span> : : #define list_add_before(h, p, n) list_add_before_(h, p, n, LIST_LOC)</a> -<a name="227"><span class="lineNum"> 227 </span> :<span class="lineCov"> 6025 : static inline void list_add_before_(struct list_head *h,</span></a> +<a name="227"><span class="lineNum"> 227 </span> :<span class="lineCov"> 4057 : static inline void list_add_before_(struct list_head *h,</span></a> <a name="228"><span class="lineNum"> 228 </span> : : struct list_node *p,</a> <a name="229"><span class="lineNum"> 229 </span> : : struct list_node *n,</a> <a name="230"><span class="lineNum"> 230 </span> : : const char *abortstr)</a> <a name="231"><span class="lineNum"> 231 </span> : : {</a> -<a name="232"><span class="lineNum"> 232 </span> :<span class="lineCov"> 6025 : n->next = p;</span></a> -<a name="233"><span class="lineNum"> 233 </span> :<span class="lineCov"> 6025 : n->prev = p->prev;</span></a> -<a name="234"><span class="lineNum"> 234 </span> :<span class="lineCov"> 6025 : p->prev->next = n;</span></a> -<a name="235"><span class="lineNum"> 235 </span> :<span class="lineCov"> 6025 : p->prev = n;</span></a> -<a name="236"><span class="lineNum"> 236 </span> :<span class="lineCov"> 6025 : (void)list_debug(h, abortstr);</span></a> -<a name="237"><span class="lineNum"> 237 </span> :<span class="lineCov"> 6025 : }</span></a> +<a name="232"><span class="lineNum"> 232 </span> :<span class="lineCov"> 4057 : n->next = p;</span></a> +<a name="233"><span class="lineNum"> 233 </span> :<span class="lineCov"> 4057 : n->prev = p->prev;</span></a> +<a name="234"><span class="lineNum"> 234 </span> :<span class="lineCov"> 4057 : p->prev->next = n;</span></a> +<a name="235"><span class="lineNum"> 235 </span> :<span class="lineCov"> 4057 : p->prev = n;</span></a> +<a name="236"><span class="lineNum"> 236 </span> :<span class="lineCov"> 4057 : (void)list_debug(h, abortstr);</span></a> +<a name="237"><span class="lineNum"> 237 </span> :<span class="lineCov"> 4057 : }</span></a> <a name="238"><span class="lineNum"> 238 </span> : : </a> <a name="239"><span class="lineNum"> 239 </span> : : /**</a> <a name="240"><span class="lineNum"> 240 </span> : : * list_add_tail - add an entry at the end of a linked list.</a> @@ -318,12 +318,12 @@ <a name="247"><span class="lineNum"> 247 </span> : : * parent->num_children++;</a> <a name="248"><span class="lineNum"> 248 </span> : : */</a> <a name="249"><span class="lineNum"> 249 </span> : : #define list_add_tail(h, n) list_add_tail_(h, n, LIST_LOC)</a> -<a name="250"><span class="lineNum"> 250 </span> :<span class="lineCov"> 5056 : static inline void list_add_tail_(struct list_head *h,</span></a> +<a name="250"><span class="lineNum"> 250 </span> :<span class="lineCov"> 3235 : static inline void list_add_tail_(struct list_head *h,</span></a> <a name="251"><span class="lineNum"> 251 </span> : : struct list_node *n,</a> <a name="252"><span class="lineNum"> 252 </span> : : const char *abortstr)</a> <a name="253"><span class="lineNum"> 253 </span> : : {</a> -<a name="254"><span class="lineNum"> 254 </span> :<span class="lineCov"> 5056 : list_add_before_(h, &h->n, n, abortstr);</span></a> -<a name="255"><span class="lineNum"> 255 </span> :<span class="lineCov"> 5056 : }</span></a> +<a name="254"><span class="lineNum"> 254 </span> :<span class="lineCov"> 3235 : list_add_before_(h, &h->n, n, abortstr);</span></a> +<a name="255"><span class="lineNum"> 255 </span> :<span class="lineCov"> 3235 : }</span></a> <a name="256"><span class="lineNum"> 256 </span> : : </a> <a name="257"><span class="lineNum"> 257 </span> : : /**</a> <a name="258"><span class="lineNum"> 258 </span> : : * list_empty - is a list empty?</a> @@ -335,10 +335,10 @@ <a name="264"><span class="lineNum"> 264 </span> : : * assert(list_empty(&parent->children) == (parent->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"> 164548 : 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"> 158071 : 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"> 164548 : (void)list_debug(h, abortstr);</span></a> -<a name="270"><span class="lineNum"> 270 </span> :<span class="lineCov"> 164538 : return h->n.next == &h->n;</span></a> +<a name="269"><span class="lineNum"> 269 </span> :<span class="lineCov"> 158071 : (void)list_debug(h, abortstr);</span></a> +<a name="270"><span class="lineNum"> 270 </span> :<span class="lineCov"> 158061 : return h->n.next == &h->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->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"> 20515 : 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"> 18539 : 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"> 20515 : (void)list_debug_node(n, abortstr);</span></a> -<a name="327"><span class="lineNum"> 327 </span> :<span class="lineCov"> 20515 : n->next->prev = n->prev;</span></a> -<a name="328"><span class="lineNum"> 328 </span> :<span class="lineCov"> 20515 : n->prev->next = n->next;</span></a> +<a name="326"><span class="lineNum"> 326 </span> :<span class="lineCov"> 18539 : (void)list_debug_node(n, abortstr);</span></a> +<a name="327"><span class="lineNum"> 327 </span> :<span class="lineCov"> 18539 : n->next->prev = n->prev;</span></a> +<a name="328"><span class="lineNum"> 328 </span> :<span class="lineCov"> 18539 : n->prev->next = n->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"> 20515 : n->next = n->prev = NULL;</span></a> +<a name="331"><span class="lineNum"> 331 </span> :<span class="lineCov"> 18539 : n->next = n->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"> 20515 : }</span></a> +<a name="333"><span class="lineNum"> 333 </span> :<span class="lineCov"> 18539 : }</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(&parent->children, &child->list);</a> <a name="368"><span class="lineNum"> 368 </span> : : * parent->num_children--;</a> <a name="369"><span class="lineNum"> 369 </span> : : */</a> -<a name="370"><span class="lineNum"> 370 </span> :<span class="lineCov"> 15305 : 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"> 15148 : 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"> 17064 : for (i = h->n.next; i != n; i = i->next)</span></a> -<a name="377"><span class="lineNum"> 377 </span> :<span class="lineCov"> 1759 : assert(i != &h->n);</span></a> +<a name="376"><span class="lineNum"> 376 </span> :<span class="lineCov"> 16876 : for (i = h->n.next; i != n; i = i->next)</span></a> +<a name="377"><span class="lineNum"> 377 </span> :<span class="lineCov"> 1728 : assert(i != &h->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"> 15305 : assert(!list_empty(h));</span></a> -<a name="383"><span class="lineNum"> 383 </span> :<span class="lineCov"> 15305 : list_del(n);</span></a> -<a name="384"><span class="lineNum"> 384 </span> :<span class="lineCov"> 15305 : }</span></a> +<a name="382"><span class="lineNum"> 382 </span> :<span class="lineCov"> 15148 : assert(!list_empty(h));</span></a> +<a name="383"><span class="lineNum"> 383 </span> :<span class="lineCov"> 15148 : list_del(n);</span></a> +<a name="384"><span class="lineNum"> 384 </span> :<span class="lineCov"> 15148 : }</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> @@ -519,11 +519,11 @@ <a name="448"><span class="lineNum"> 448 </span> : : #define list_top(h, type, member) \</a> <a name="449"><span class="lineNum"> 449 </span> : : ((type *)list_top_((h), list_off_(type, member)))</a> <a name="450"><span class="lineNum"> 450 </span> : : </a> -<a name="451"><span class="lineNum"> 451 </span> :<span class="lineCov"> 133480 : static inline const void *list_top_(const struct list_head *h, size_t off)</span></a> +<a name="451"><span class="lineNum"> 451 </span> :<span class="lineCov"> 132944 : static inline const void *list_top_(const struct list_head *h, size_t off)</span></a> <a name="452"><span class="lineNum"> 452 </span> : : {</a> -<a name="453"><span class="lineNum"> 453 </span> :<span class="lineCov"> 133480 : if (list_empty(h))</span></a> -<a name="454"><span class="lineNum"> 454 </span> :<span class="lineCov"> 66375 : return NULL;</span></a> -<a name="455"><span class="lineNum"> 455 </span> :<span class="lineCov"> 67105 : return (const char *)h->n.next - off;</span></a> +<a name="453"><span class="lineNum"> 453 </span> :<span class="lineCov"> 132944 : if (list_empty(h))</span></a> +<a name="454"><span class="lineNum"> 454 </span> :<span class="lineCov"> 66218 : return NULL;</span></a> +<a name="455"><span class="lineNum"> 455 </span> :<span class="lineCov"> 66726 : return (const char *)h->n.next - off;</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> : : /**</a> @@ -543,15 +543,15 @@ <a name="472"><span class="lineNum"> 472 </span> : : #define list_pop(h, type, member) \</a> <a name="473"><span class="lineNum"> 473 </span> : : ((type *)list_pop_((h), list_off_(type, member)))</a> <a name="474"><span class="lineNum"> 474 </span> : : </a> -<a name="475"><span class="lineNum"> 475 </span> :<span class="lineCov"> 5498 : static inline const void *list_pop_(const struct list_head *h, size_t off)</span></a> +<a name="475"><span class="lineNum"> 475 </span> :<span class="lineCov"> 3522 : static inline const void *list_pop_(const struct list_head *h, size_t off)</span></a> <a name="476"><span class="lineNum"> 476 </span> : : {</a> <a name="477"><span class="lineNum"> 477 </span> : : struct list_node *n;</a> <a name="478"><span class="lineNum"> 478 </span> : : </a> -<a name="479"><span class="lineNum"> 479 </span> :<span class="lineCov"> 5498 : if (list_empty(h))</span></a> -<a name="480"><span class="lineNum"> 480 </span> :<span class="lineCov"> 884 : return NULL;</span></a> -<a name="481"><span class="lineNum"> 481 </span> :<span class="lineCov"> 4614 : n = h->n.next;</span></a> -<a name="482"><span class="lineNum"> 482 </span> :<span class="lineCov"> 4614 : list_del(n);</span></a> -<a name="483"><span class="lineNum"> 483 </span> :<span class="lineCov"> 4614 : return (const char *)n - off;</span></a> +<a name="479"><span class="lineNum"> 479 </span> :<span class="lineCov"> 3522 : if (list_empty(h))</span></a> +<a name="480"><span class="lineNum"> 480 </span> :<span class="lineCov"> 727 : return NULL;</span></a> +<a name="481"><span class="lineNum"> 481 </span> :<span class="lineCov"> 2795 : n = h->n.next;</span></a> +<a name="482"><span class="lineNum"> 482 </span> :<span class="lineCov"> 2795 : list_del(n);</span></a> +<a name="483"><span class="lineNum"> 483 </span> :<span class="lineCov"> 2795 : return (const char *)n - off;</span></a> <a name="484"><span class="lineNum"> 484 </span> : : }</a> <a name="485"><span class="lineNum"> 485 </span> : : </a> <a name="486"><span class="lineNum"> 486 </span> : : /**</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"> 378046 : 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"> 313496 : 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"> 378046 : return (void *)((char *)node - off);</span></a> +<a name="811"><span class="lineNum"> 811 </span> :<span class="lineCov"> 313496 : 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"> 605744 : 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"> 483099 : 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"> 605744 : return (struct list_node *)((char *)ptr + off);</span></a> +<a name="815"><span class="lineNum"> 815 </span> :<span class="lineCov"> 483099 : 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 376dd41..b972d8f 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 a651dfc..dc1d1a4 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 58ed4f6..a033788 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 be7bb1d..c6312a5 100644 --- a/coverage-report/ccan/list/test/index-sort-b.html +++ b/coverage-report/ccan/list/test/index-sort-b.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">14</td> @@ -82,38 +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-single-eval.c.gcov.html">run-single-eval.c</a></td> + <td class="coverFile"><a href="run-check-nonconst.c.gcov.html">run-check-nonconst.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 %</td> - <td class="coverNumHi">112 / 112</td> + <td class="coverNumHi">8 / 8</td> <td class="coverPerHi">100.0 %</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-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 %</td> + <td class="coverNumHi">16 / 17</td> <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">207 / 207</td> - <td class="coverPerHi">100.0 %</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="run-prepend_list.c.gcov.html">run-prepend_list.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=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 %</td> - <td class="coverNumHi">71 / 72</td> <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">2 / 2</td> + <td class="coverNumHi">32 / 32</td> + <td class="coverPerHi">100.0 %</td> + <td class="coverNumHi">1 / 1</td> <td class="coverPerHi">-</td> <td class="coverNumHi">0 / 0</td> </tr> @@ -130,62 +130,62 @@ <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-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 %</td> - <td class="coverNumHi">20 / 20</td> + <td class="coverNumHi">112 / 112</td> <td class="coverPerHi">100.0 %</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-check-nonconst.c.gcov.html">run-check-nonconst.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 %</td> - <td class="coverNumHi">8 / 8</td> + <td class="coverNumHi">207 / 207</td> <td class="coverPerHi">100.0 %</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-check-corrupt.c.gcov.html">run-check-corrupt.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=92 height=10 alt="91.7%"><img src="../../../snow.png" width=8 height=10 alt="91.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">91.7 %</td> - <td class="coverNumHi">33 / 36</td> <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">2 / 2</td> + <td class="coverNumHi">20 / 20</td> + <td class="coverPerHi">100.0 %</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-CCAN_LIST_DEBUG.c.gcov.html">run-CCAN_LIST_DEBUG.c</a></td> + <td class="coverFile"><a href="run-check-corrupt.c.gcov.html">run-check-corrupt.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=92 height=10 alt="91.7%"><img src="../../../snow.png" width=8 height=10 alt="91.7%"></td></tr></table> </td> - <td class="coverPerHi">94.1 %</td> - <td class="coverNumHi">16 / 17</td> + <td class="coverPerHi">91.7 %</td> + <td class="coverNumHi">33 / 36</td> <td class="coverPerHi">100.0 %</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_prev-list_next.c.gcov.html">run-list_prev-list_next.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=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="98.6%"><img src="../../../snow.png" width=1 height=10 alt="98.6%"></td></tr></table> </td> + <td class="coverPerHi">98.6 %</td> + <td class="coverNumHi">71 / 72</td> <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">32 / 32</td> - <td class="coverPerHi">100.0 %</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/list/test/index-sort-f.html b/coverage-report/ccan/list/test/index-sort-f.html index 6690564..c3397f0 100644 --- a/coverage-report/ccan/list/test/index-sort-f.html +++ b/coverage-report/ccan/list/test/index-sort-f.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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="run-single-eval.c.gcov.html">run-single-eval.c</a></td> + <td class="coverFile"><a href="run-check-nonconst.c.gcov.html">run-check-nonconst.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 %</td> - <td class="coverNumHi">112 / 112</td> + <td class="coverNumHi">8 / 8</td> <td class="coverPerHi">100.0 %</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_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 %</td> - <td class="coverNumHi">207 / 207</td> + <td class="coverNumHi">32 / 32</td> <td class="coverPerHi">100.0 %</td> <td class="coverNumHi">1 / 1</td> <td class="coverPerHi">-</td> @@ -118,36 +118,36 @@ <td class="coverNumHi">0 / 0</td> </tr> <tr> - <td class="coverFile"><a href="run-check-nonconst.c.gcov.html">run-check-nonconst.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 %</td> - <td class="coverNumHi">8 / 8</td> + <td class="coverNumHi">112 / 112</td> <td class="coverPerHi">100.0 %</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-list_prev-list_next.c.gcov.html">run-list_prev-list_next.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 %</td> - <td class="coverNumHi">32 / 32</td> + <td class="coverNumHi">207 / 207</td> <td class="coverPerHi">100.0 %</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-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 %</td> - <td class="coverNumHi">71 / 72</td> + <td class="coverPerHi">94.1 %</td> + <td class="coverNumHi">16 / 17</td> <td class="coverPerHi">100.0 %</td> <td class="coverNumHi">2 / 2</td> <td class="coverPerHi">-</td> @@ -166,12 +166,12 @@ <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 %</td> - <td class="coverNumHi">16 / 17</td> + <td class="coverPerHi">98.6 %</td> + <td class="coverNumHi">71 / 72</td> <td class="coverPerHi">100.0 %</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 682a5db..c7ee073 100644 --- a/coverage-report/ccan/list/test/index-sort-l.html +++ b/coverage-report/ccan/list/test/index-sort-l.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">14</td> diff --git a/coverage-report/ccan/list/test/index.html b/coverage-report/ccan/list/test/index.html index 2566c1f..3bf19ce 100644 --- a/coverage-report/ccan/list/test/index.html +++ b/coverage-report/ccan/list/test/index.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">14</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 68ad88f..36ff667 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 b1a175a..7b4b0cc 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 cd934a2..b6ce357 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 2b888b6..283bea9 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 0773190..a5604c2 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 bd55e1f..e29df1e 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 4e792d4..40a27a2 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 2cd305d..4de6db3 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 d74734a..f5687c5 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 fc57728..16dd2ed 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 5da8457..42ed020 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 063efa8..9b2ab58 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 2254418..bd49a87 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 6f1bd28..4840147 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 f1c5c99..8b0360c 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 13219e4..8998bd2 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 20f21a0..fc25c92 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 108c64e..7d2aca5 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 3f3b11a..26c0a5a 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 c245a2c..c97ea02 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 7b1ac6a..a69b4a0 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 4ca8dbd..5ca5df6 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 @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 d28c4ce..6cf005e 100644 --- a/coverage-report/ccan/list/test/run.c.func.html +++ b/coverage-report/ccan/list/test/run.c.func.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 33b1c68..cd37012 100644 --- a/coverage-report/ccan/list/test/run.c.gcov.html +++ b/coverage-report/ccan/list/test/run.c.gcov.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">1</td> 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 c6ce6d4..2bec6b2 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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.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> @@ -94,7 +94,7 @@ <td class="coverNumHi">0 / 0</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> 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 a9f3ae6..5fe930b 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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.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> @@ -94,7 +94,7 @@ <td class="coverNumHi">0 / 0</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> 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 4faf4bc..4f62c3b 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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.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> @@ -94,7 +94,7 @@ <td class="coverNumHi">0 / 0</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> diff --git a/coverage-report/ccan/short_types/test/index.html b/coverage-report/ccan/short_types/test/index.html index 6d00ed6..141ea18 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 ba778d0..6cd6bfe 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 de4b1e6..473c855 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 14abd00..8995287 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 acaa2c7..a6bd0db 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 4bb594e..bcd905e 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 1f9ab08..80e424d 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 635772a..3e68643 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">2</td> @@ -82,24 +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="str.h.gcov.html">str.h</a></td> + <td class="coverFile"><a href="str.c.gcov.html">str.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 %</td> - <td class="coverNumHi">4 / 4</td> + <td class="coverNumHi">6 / 6</td> <td class="coverPerHi">100.0 %</td> <td class="coverNumHi">1 / 1</td> <td class="coverPerHi">-</td> <td class="coverNumHi">0 / 0</td> </tr> <tr> - <td class="coverFile"><a href="str.c.gcov.html">str.c</a></td> + <td class="coverFile"><a href="str.h.gcov.html">str.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 %</td> - <td class="coverNumHi">6 / 6</td> + <td class="coverNumHi">4 / 4</td> <td class="coverPerHi">100.0 %</td> <td class="coverNumHi">1 / 1</td> <td class="coverPerHi">-</td> diff --git a/coverage-report/ccan/str/index-sort-f.html b/coverage-report/ccan/str/index-sort-f.html index 5f95604..6648b5d 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">2</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="str.h.gcov.html">str.h</a></td> + <td class="coverFile"><a href="str.c.gcov.html">str.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 %</td> - <td class="coverNumHi">4 / 4</td> + <td class="coverNumHi">6 / 6</td> <td class="coverPerHi">100.0 %</td> <td class="coverNumHi">1 / 1</td> <td class="coverPerHi">-</td> <td class="coverNumHi">0 / 0</td> </tr> <tr> - <td class="coverFile"><a href="str.c.gcov.html">str.c</a></td> + <td class="coverFile"><a href="str.h.gcov.html">str.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 %</td> - <td class="coverNumHi">6 / 6</td> + <td class="coverNumHi">4 / 4</td> <td class="coverPerHi">100.0 %</td> <td class="coverNumHi">1 / 1</td> <td class="coverPerHi">-</td> diff --git a/coverage-report/ccan/str/index-sort-l.html b/coverage-report/ccan/str/index-sort-l.html index af67400..3953076 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 3fd78bc..89189bf 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 94129a1..396330e 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 d186da4..a460718 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 aa54344..ebc990f 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 ec9f5bc..9683eba 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 5e8df2a..4362c2b 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 92355de..adf25e1 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 4017720..83ac164 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">3</td> diff --git a/coverage-report/ccan/str/test/index-sort-f.html b/coverage-report/ccan/str/test/index-sort-f.html index 9e87e1f..faf552c 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 16a5ca0..20e1b21 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 6089073..f6f8b5a 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 dbd3957..de8f11a 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 422d27b..3b3f18b 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 8bb9772..a6a2890 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 a1b07a5..9a98e1f 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 f36e0b4..90a7bd9 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 6ba538b..eb54746 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 533dde7..e75dc4b 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 809ca08..1a3832a 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 d9c5162..5d7c1ec 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 a7a3060..f0254f6 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 4b00cdc..b935bbc 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 cb41352..06c3e3e 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 e690907..4261b5d 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 3400a9b..e2ad083 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 ee6f905..fddecc1 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 6b4f113..9dd6ccb 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 b0e9426..f15ba32 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 f6e6be6..bace55e 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 d66e4ba..107112e 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 a0601ac..4914677 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 db26d9a..93a38b7 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 d7a3d18..3287201 100644 --- a/coverage-report/core/device.c.func-sort-c.html +++ b/coverage-report/core/device.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">483</td> + <td class="headerCovTableEntry">482</td> <td class="headerCovTableEntry">568</td> - <td class="headerCovTableEntryMed">85.0 %</td> + <td class="headerCovTableEntryMed">84.9 %</td> </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">61</td> @@ -129,16 +129,20 @@ <td class="coverFnHi">2</td> </tr> <tr> + <td class="coverFn"><a href="device.c.gcov.html#517">dt_add_property_nstr</a></td> + <td class="coverFnHi">3</td> + </tr> + <tr> <td class="coverFn"><a href="device.c.gcov.html#832">dt_prop_get_cell</a></td> <td class="coverFnHi">4</td> </tr> <tr> - <td class="coverFn"><a href="device.c.gcov.html#1081">dt_translate_address</a></td> + <td class="coverFn"><a href="device.c.gcov.html#778">dt_prop_get_u64_def</a></td> <td class="coverFnHi">4</td> </tr> <tr> - <td class="coverFn"><a href="device.c.gcov.html#517">dt_add_property_nstr</a></td> - <td class="coverFnHi">5</td> + <td class="coverFn"><a href="device.c.gcov.html#1081">dt_translate_address</a></td> + <td class="coverFnHi">4</td> </tr> <tr> <td class="coverFn"><a href="device.c.gcov.html#806">dt_prop_get</a></td> @@ -149,20 +153,16 @@ <td class="coverFnHi">5</td> </tr> <tr> - <td class="coverFn"><a href="device.c.gcov.html#1034">dt_translate_one</a></td> - <td class="coverFnHi">6</td> - </tr> - <tr> <td class="coverFn"><a href="device.c.gcov.html#1001">dt_find_compatible_node_on_chip</a></td> - <td class="coverFnHi">8</td> + <td class="coverFnHi">6</td> </tr> <tr> - <td class="coverFn"><a href="device.c.gcov.html#778">dt_prop_get_u64_def</a></td> - <td class="coverFnHi">8</td> + <td class="coverFn"><a href="device.c.gcov.html#1034">dt_translate_one</a></td> + <td class="coverFnHi">6</td> </tr> <tr> <td class="coverFn"><a href="device.c.gcov.html#868">dt_expand_node</a></td> - <td class="coverFnHi">9</td> + <td class="coverFnHi">8</td> </tr> <tr> <td class="coverFn"><a href="device.c.gcov.html#395">dt_find_by_name_before_addr</a></td> @@ -173,172 +173,172 @@ <td class="coverFnHi">10</td> </tr> <tr> + <td class="coverFn"><a href="device.c.gcov.html#994">dt_get_chip_id</a></td> + <td class="coverFnHi">11</td> + </tr> + <tr> <td class="coverFn"><a href="device.c.gcov.html#419">dt_new_check</a></td> <td class="coverFnHi">12</td> </tr> <tr> <td class="coverFn"><a href="device.c.gcov.html#552">__dt_add_property_u64s</a></td> + <td class="coverFnHi">18</td> + </tr> + <tr> + <td class="coverFn"><a href="device.c.gcov.html#758">dt_find_compatible_node</a></td> + <td class="coverFnHi">19</td> + </tr> + <tr> + <td class="coverFn"><a href="device.c.gcov.html#570">__dt_add_property_strings</a></td> <td class="coverFnHi">31</td> </tr> <tr> <td class="coverFn"><a href="device.c.gcov.html#965">dt_get_address</a></td> - <td class="coverFnHi">35</td> + <td class="coverFnHi">33</td> </tr> <tr> <td class="coverFn"><a href="device.c.gcov.html#958">dt_n_size_cells</a></td> - <td class="coverFnHi">35</td> + <td class="coverFnHi">33</td> </tr> <tr> <td class="coverFn"><a href="device.c.gcov.html#379">dt_find_by_name</a></td> <td class="coverFnHi">38</td> </tr> <tr> - <td class="coverFn"><a href="device.c.gcov.html#994">dt_get_chip_id</a></td> - <td class="coverFnHi">41</td> - </tr> - <tr> <td class="coverFn"><a href="device.c.gcov.html#951">dt_n_address_cells</a></td> - <td class="coverFnHi">41</td> - </tr> - <tr> - <td class="coverFn"><a href="device.c.gcov.html#758">dt_find_compatible_node</a></td> - <td class="coverFnHi">49</td> + <td class="coverFnHi">39</td> </tr> <tr> <td class="coverFn"><a href="device.c.gcov.html#54">dt_new_root</a></td> - <td class="coverFnHi">51</td> + <td class="coverFnHi">49</td> </tr> <tr> <td class="coverFn"><a href="device.c.gcov.html#696">dt_require_property</a></td> - <td class="coverFnHi">57</td> + <td class="coverFnHi">55</td> </tr> <tr> - <td class="coverFn"><a href="device.c.gcov.html#570">__dt_add_property_strings</a></td> - <td class="coverFnHi">82</td> + <td class="coverFn"><a href="device.c.gcov.html#189">dt_find_by_name_addr</a></td> + <td class="coverFnHi">71</td> </tr> <tr> <td class="coverFn"><a href="device.c.gcov.html#796">dt_prop_get_u32_def</a></td> - <td class="coverFnHi">90</td> + <td class="coverFnHi">86</td> </tr> <tr> - <td class="coverFn"><a href="device.c.gcov.html#941">dt_get_number</a></td> - <td class="coverFnHi">107</td> + <td class="coverFn"><a href="device.c.gcov.html#198">dt_new_addr</a></td> + <td class="coverFnHi">87</td> </tr> <tr> - <td class="coverFn"><a href="device.c.gcov.html#495">dt_resize_property</a></td> - <td class="coverFnHi">112</td> + <td class="coverFn"><a href="device.c.gcov.html#982">__dt_get_chip_id</a></td> + <td class="coverFnHi">89</td> </tr> <tr> <td class="coverFn"><a href="device.c.gcov.html#343">dt_find_by_path</a></td> - <td class="coverFnHi">115</td> + <td class="coverFnHi">93</td> </tr> <tr> - <td class="coverFn"><a href="device.c.gcov.html#625">dt_property_set_cell</a></td> - <td class="coverFnHi">125</td> + <td class="coverFn"><a href="device.c.gcov.html#941">dt_get_number</a></td> + <td class="coverFnHi">97</td> </tr> <tr> - <td class="coverFn"><a href="device.c.gcov.html#189">dt_find_by_name_addr</a></td> - <td class="coverFnHi">164</td> + <td class="coverFn"><a href="device.c.gcov.html#495">dt_resize_property</a></td> + <td class="coverFnHi">112</td> </tr> <tr> - <td class="coverFn"><a href="device.c.gcov.html#198">dt_new_addr</a></td> - <td class="coverFnHi">231</td> + <td class="coverFn"><a href="device.c.gcov.html#625">dt_property_set_cell</a></td> + <td class="coverFnHi">125</td> </tr> <tr> <td class="coverFn"><a href="device.c.gcov.html#611">dt_property_get_cell</a></td> - <td class="coverFnHi">246</td> + <td class="coverFnHi">134</td> </tr> <tr> - <td class="coverFn"><a href="device.c.gcov.html#982">__dt_get_chip_id</a></td> - <td class="coverFnHi">389</td> + <td class="coverFn"><a href="device.c.gcov.html#507">dt_add_property_string</a></td> + <td class="coverFnHi">275</td> + </tr> + <tr> + <td class="coverFn"><a href="device.c.gcov.html#721">dt_has_node_property</a></td> + <td class="coverFnHi">289</td> </tr> <tr> <td class="coverFn"><a href="device.c.gcov.html#633">dt_first</a></td> - <td class="coverFnHi">548</td> + <td class="coverFnHi">324</td> </tr> <tr> - <td class="coverFn"><a href="device.c.gcov.html#507">dt_add_property_string</a></td> - <td class="coverFnHi">564</td> + <td class="coverFn"><a href="device.c.gcov.html#751">dt_node_is_compatible</a></td> + <td class="coverFnHi">444</td> </tr> <tr> - <td class="coverFn"><a href="device.c.gcov.html#136">dt_new</a></td> - <td class="coverFnHi">609</td> + <td class="coverFn"><a href="device.c.gcov.html#734">dt_prop_find_string</a></td> + <td class="coverFnHi">448</td> </tr> <tr> <td class="coverFn"><a href="device.c.gcov.html#667">__dt_find_property</a></td> - <td class="coverFnHi">678</td> + <td class="coverFnHi">518</td> </tr> <tr> - <td class="coverFn"><a href="device.c.gcov.html#721">dt_has_node_property</a></td> - <td class="coverFnHi">763</td> + <td class="coverFn"><a href="device.c.gcov.html#470">dt_add_property</a></td> + <td class="coverFnHi">587</td> </tr> <tr> - <td class="coverFn"><a href="device.c.gcov.html#92">dt_attach_root</a></td> - <td class="coverFnHi">851</td> + <td class="coverFn"><a href="device.c.gcov.html#136">dt_new</a></td> + <td class="coverFnHi">598</td> </tr> <tr> - <td class="coverFn"><a href="device.c.gcov.html#850">dt_free</a></td> - <td class="coverFnHi">859</td> + <td class="coverFn"><a href="device.c.gcov.html#154">__dt_find_by_name_addr</a></td> + <td class="coverFnHi">634</td> </tr> <tr> - <td class="coverFn"><a href="device.c.gcov.html#127">dt_destroy</a></td> - <td class="coverFnHi">862</td> + <td class="coverFn"><a href="device.c.gcov.html#92">dt_attach_root</a></td> + <td class="coverFnHi">696</td> </tr> <tr> - <td class="coverFn"><a href="device.c.gcov.html#37">new_node</a></td> - <td class="coverFnHi">893</td> + <td class="coverFn"><a href="device.c.gcov.html#850">dt_free</a></td> + <td class="coverFnHi">702</td> </tr> <tr> - <td class="coverFn"><a href="device.c.gcov.html#470">dt_add_property</a></td> - <td class="coverFnHi">1210</td> + <td class="coverFn"><a href="device.c.gcov.html#127">dt_destroy</a></td> + <td class="coverFnHi">705</td> </tr> <tr> - <td class="coverFn"><a href="device.c.gcov.html#154">__dt_find_by_name_addr</a></td> - <td class="coverFnHi">1905</td> + <td class="coverFn"><a href="device.c.gcov.html#37">new_node</a></td> + <td class="coverFnHi">736</td> </tr> <tr> <td class="coverFn"><a href="device.c.gcov.html#311">__dt_path_split</a></td> - <td class="coverFnHi">2115</td> - </tr> - <tr> - <td class="coverFn"><a href="device.c.gcov.html#751">dt_node_is_compatible</a></td> - <td class="coverFnHi">2127</td> - </tr> - <tr> - <td class="coverFn"><a href="device.c.gcov.html#734">dt_prop_find_string</a></td> - <td class="coverFnHi">2131</td> + <td class="coverFnHi">1589</td> </tr> <tr> <td class="coverFn"><a href="device.c.gcov.html#534">__dt_add_property_cells</a></td> - <td class="coverFnHi">3242</td> + <td class="coverFnHi">2109</td> </tr> <tr> <td class="coverFn"><a href="device.c.gcov.html#442">new_property</a></td> - <td class="coverFnHi">4555</td> + <td class="coverFnHi">2736</td> </tr> <tr> <td class="coverFn"><a href="device.c.gcov.html#31">free_name</a></td> - <td class="coverFnHi">5329</td> + <td class="coverFnHi">3353</td> </tr> <tr> <td class="coverFn"><a href="device.c.gcov.html#22">take_name</a></td> - <td class="coverFnHi">5448</td> + <td class="coverFnHi">3472</td> </tr> <tr> - <td class="coverFn"><a href="device.c.gcov.html#639">dt_next</a></td> - <td class="coverFnHi">6735</td> + <td class="coverFn"><a href="device.c.gcov.html#677">dt_find_property</a></td> + <td class="coverFnHi">4126</td> </tr> <tr> - <td class="coverFn"><a href="device.c.gcov.html#69">dt_cmp_subnodes</a></td> - <td class="coverFnHi">7985</td> + <td class="coverFn"><a href="device.c.gcov.html#639">dt_next</a></td> + <td class="coverFnHi">4339</td> </tr> <tr> - <td class="coverFn"><a href="device.c.gcov.html#677">dt_find_property</a></td> - <td class="coverFnHi">9063</td> + <td class="coverFn"><a href="device.c.gcov.html#69">dt_cmp_subnodes</a></td> + <td class="coverFnHi">6151</td> </tr> <tr> <td class="coverFn"><a href="device.c.gcov.html#59">get_unitname</a></td> - <td class="coverFnHi">18371</td> + <td class="coverFnHi">13085</td> </tr> </table> <br> diff --git a/coverage-report/core/device.c.func.html b/coverage-report/core/device.c.func.html index c197d9a..8cbefcb 100644 --- a/coverage-report/core/device.c.func.html +++ b/coverage-report/core/device.c.func.html @@ -31,13 +31,13 @@ <td class="headerValue">skiboot.info</td> <td></td> <td class="headerItem">Lines:</td> - <td class="headerCovTableEntry">483</td> + <td class="headerCovTableEntry">482</td> <td class="headerCovTableEntry">568</td> - <td class="headerCovTableEntryMed">85.0 %</td> + <td class="headerCovTableEntryMed">84.9 %</td> </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">61</td> @@ -70,15 +70,15 @@ </tr> <tr> <td class="coverFn"><a href="device.c.gcov.html#534">__dt_add_property_cells</a></td> - <td class="coverFnHi">3242</td> + <td class="coverFnHi">2109</td> </tr> <tr> <td class="coverFn"><a href="device.c.gcov.html#570">__dt_add_property_strings</a></td> - <td class="coverFnHi">82</td> + <td class="coverFnHi">31</td> </tr> <tr> <td class="coverFn"><a href="device.c.gcov.html#552">__dt_add_property_u64s</a></td> - <td class="coverFnHi">31</td> + <td class="coverFnHi">18</td> </tr> <tr> <td class="coverFn"><a href="device.c.gcov.html#243">__dt_copy</a></td> @@ -86,31 +86,31 @@ </tr> <tr> <td class="coverFn"><a href="device.c.gcov.html#154">__dt_find_by_name_addr</a></td> - <td class="coverFnHi">1905</td> + <td class="coverFnHi">634</td> </tr> <tr> <td class="coverFn"><a href="device.c.gcov.html#667">__dt_find_property</a></td> - <td class="coverFnHi">678</td> + <td class="coverFnHi">518</td> </tr> <tr> <td class="coverFn"><a href="device.c.gcov.html#982">__dt_get_chip_id</a></td> - <td class="coverFnHi">389</td> + <td class="coverFnHi">89</td> </tr> <tr> <td class="coverFn"><a href="device.c.gcov.html#311">__dt_path_split</a></td> - <td class="coverFnHi">2115</td> + <td class="coverFnHi">1589</td> </tr> <tr> <td class="coverFn"><a href="device.c.gcov.html#470">dt_add_property</a></td> - <td class="coverFnHi">1210</td> + <td class="coverFnHi">587</td> </tr> <tr> <td class="coverFn"><a href="device.c.gcov.html#517">dt_add_property_nstr</a></td> - <td class="coverFnHi">5</td> + <td class="coverFnHi">3</td> </tr> <tr> <td class="coverFn"><a href="device.c.gcov.html#507">dt_add_property_string</a></td> - <td class="coverFnHi">564</td> + <td class="coverFnHi">275</td> </tr> <tr> <td class="coverFn"><a href="device.c.gcov.html#1114">dt_adjust_subtree_phandle</a></td> @@ -118,7 +118,7 @@ </tr> <tr> <td class="coverFn"><a href="device.c.gcov.html#92">dt_attach_root</a></td> - <td class="coverFnHi">851</td> + <td class="coverFnHi">696</td> </tr> <tr> <td class="coverFn"><a href="device.c.gcov.html#688">dt_check_del_prop</a></td> @@ -126,7 +126,7 @@ </tr> <tr> <td class="coverFn"><a href="device.c.gcov.html#69">dt_cmp_subnodes</a></td> - <td class="coverFnHi">7985</td> + <td class="coverFnHi">6151</td> </tr> <tr> <td class="coverFn"><a href="device.c.gcov.html#276">dt_copy</a></td> @@ -142,7 +142,7 @@ </tr> <tr> <td class="coverFn"><a href="device.c.gcov.html#127">dt_destroy</a></td> - <td class="coverFnHi">862</td> + <td class="coverFnHi">705</td> </tr> <tr> <td class="coverFn"><a href="device.c.gcov.html#933">dt_expand</a></td> @@ -150,7 +150,7 @@ </tr> <tr> <td class="coverFn"><a href="device.c.gcov.html#868">dt_expand_node</a></td> - <td class="coverFnHi">9</td> + <td class="coverFnHi">8</td> </tr> <tr> <td class="coverFn"><a href="device.c.gcov.html#379">dt_find_by_name</a></td> @@ -158,7 +158,7 @@ </tr> <tr> <td class="coverFn"><a href="device.c.gcov.html#189">dt_find_by_name_addr</a></td> - <td class="coverFnHi">164</td> + <td class="coverFnHi">71</td> </tr> <tr> <td class="coverFn"><a href="device.c.gcov.html#395">dt_find_by_name_before_addr</a></td> @@ -166,7 +166,7 @@ </tr> <tr> <td class="coverFn"><a href="device.c.gcov.html#343">dt_find_by_path</a></td> - <td class="coverFnHi">115</td> + <td class="coverFnHi">93</td> </tr> <tr> <td class="coverFn"><a href="device.c.gcov.html#432">dt_find_by_phandle</a></td> @@ -174,35 +174,35 @@ </tr> <tr> <td class="coverFn"><a href="device.c.gcov.html#758">dt_find_compatible_node</a></td> - <td class="coverFnHi">49</td> + <td class="coverFnHi">19</td> </tr> <tr> <td class="coverFn"><a href="device.c.gcov.html#1001">dt_find_compatible_node_on_chip</a></td> - <td class="coverFnHi">8</td> + <td class="coverFnHi">6</td> </tr> <tr> <td class="coverFn"><a href="device.c.gcov.html#677">dt_find_property</a></td> - <td class="coverFnHi">9063</td> + <td class="coverFnHi">4126</td> </tr> <tr> <td class="coverFn"><a href="device.c.gcov.html#633">dt_first</a></td> - <td class="coverFnHi">548</td> + <td class="coverFnHi">324</td> </tr> <tr> <td class="coverFn"><a href="device.c.gcov.html#850">dt_free</a></td> - <td class="coverFnHi">859</td> + <td class="coverFnHi">702</td> </tr> <tr> <td class="coverFn"><a href="device.c.gcov.html#965">dt_get_address</a></td> - <td class="coverFnHi">35</td> + <td class="coverFnHi">33</td> </tr> <tr> <td class="coverFn"><a href="device.c.gcov.html#994">dt_get_chip_id</a></td> - <td class="coverFnHi">41</td> + <td class="coverFnHi">11</td> </tr> <tr> <td class="coverFn"><a href="device.c.gcov.html#941">dt_get_number</a></td> - <td class="coverFnHi">107</td> + <td class="coverFnHi">97</td> </tr> <tr> <td class="coverFn"><a href="device.c.gcov.html#281">dt_get_path</a></td> @@ -210,19 +210,19 @@ </tr> <tr> <td class="coverFn"><a href="device.c.gcov.html#721">dt_has_node_property</a></td> - <td class="coverFnHi">763</td> + <td class="coverFnHi">289</td> </tr> <tr> <td class="coverFn"><a href="device.c.gcov.html#951">dt_n_address_cells</a></td> - <td class="coverFnHi">41</td> + <td class="coverFnHi">39</td> </tr> <tr> <td class="coverFn"><a href="device.c.gcov.html#958">dt_n_size_cells</a></td> - <td class="coverFnHi">35</td> + <td class="coverFnHi">33</td> </tr> <tr> <td class="coverFn"><a href="device.c.gcov.html#136">dt_new</a></td> - <td class="coverFnHi">609</td> + <td class="coverFnHi">598</td> </tr> <tr> <td class="coverFn"><a href="device.c.gcov.html#220">dt_new_2addr</a></td> @@ -230,7 +230,7 @@ </tr> <tr> <td class="coverFn"><a href="device.c.gcov.html#198">dt_new_addr</a></td> - <td class="coverFnHi">231</td> + <td class="coverFnHi">87</td> </tr> <tr> <td class="coverFn"><a href="device.c.gcov.html#419">dt_new_check</a></td> @@ -238,15 +238,15 @@ </tr> <tr> <td class="coverFn"><a href="device.c.gcov.html#54">dt_new_root</a></td> - <td class="coverFnHi">51</td> + <td class="coverFnHi">49</td> </tr> <tr> <td class="coverFn"><a href="device.c.gcov.html#639">dt_next</a></td> - <td class="coverFnHi">6735</td> + <td class="coverFnHi">4339</td> </tr> <tr> <td class="coverFn"><a href="device.c.gcov.html#751">dt_node_is_compatible</a></td> - <td class="coverFnHi">2127</td> + <td class="coverFnHi">444</td> </tr> <tr> <td class="coverFn"><a href="device.c.gcov.html#1101">dt_node_is_enabled</a></td> @@ -254,7 +254,7 @@ </tr> <tr> <td class="coverFn"><a href="device.c.gcov.html#734">dt_prop_find_string</a></td> - <td class="coverFnHi">2131</td> + <td class="coverFnHi">448</td> </tr> <tr> <td class="coverFn"><a href="device.c.gcov.html#806">dt_prop_get</a></td> @@ -282,7 +282,7 @@ </tr> <tr> <td class="coverFn"><a href="device.c.gcov.html#796">dt_prop_get_u32_def</a></td> - <td class="coverFnHi">90</td> + <td class="coverFnHi">86</td> </tr> <tr> <td class="coverFn"><a href="device.c.gcov.html#770">dt_prop_get_u64</a></td> @@ -290,11 +290,11 @@ </tr> <tr> <td class="coverFn"><a href="device.c.gcov.html#778">dt_prop_get_u64_def</a></td> - <td class="coverFnHi">8</td> + <td class="coverFnHi">4</td> </tr> <tr> <td class="coverFn"><a href="device.c.gcov.html#611">dt_property_get_cell</a></td> - <td class="coverFnHi">246</td> + <td class="coverFnHi">134</td> </tr> <tr> <td class="coverFn"><a href="device.c.gcov.html#618">dt_property_get_u64</a></td> @@ -306,7 +306,7 @@ </tr> <tr> <td class="coverFn"><a href="device.c.gcov.html#696">dt_require_property</a></td> - <td class="coverFnHi">57</td> + <td class="coverFnHi">55</td> </tr> <tr> <td class="coverFn"><a href="device.c.gcov.html#495">dt_resize_property</a></td> @@ -322,23 +322,23 @@ </tr> <tr> <td class="coverFn"><a href="device.c.gcov.html#31">free_name</a></td> - <td class="coverFnHi">5329</td> + <td class="coverFnHi">3353</td> </tr> <tr> <td class="coverFn"><a href="device.c.gcov.html#59">get_unitname</a></td> - <td class="coverFnHi">18371</td> + <td class="coverFnHi">13085</td> </tr> <tr> <td class="coverFn"><a href="device.c.gcov.html#37">new_node</a></td> - <td class="coverFnHi">893</td> + <td class="coverFnHi">736</td> </tr> <tr> <td class="coverFn"><a href="device.c.gcov.html#442">new_property</a></td> - <td class="coverFnHi">4555</td> + <td class="coverFnHi">2736</td> </tr> <tr> <td class="coverFn"><a href="device.c.gcov.html#22">take_name</a></td> - <td class="coverFnHi">5448</td> + <td class="coverFnHi">3472</td> </tr> </table> <br> diff --git a/coverage-report/core/device.c.gcov.html b/coverage-report/core/device.c.gcov.html index 3697669..78f92d9 100644 --- a/coverage-report/core/device.c.gcov.html +++ b/coverage-report/core/device.c.gcov.html @@ -31,13 +31,13 @@ <td class="headerValue">skiboot.info</td> <td></td> <td class="headerItem">Lines:</td> - <td class="headerCovTableEntry">483</td> + <td class="headerCovTableEntry">482</td> <td class="headerCovTableEntry">568</td> - <td class="headerCovTableEntryMed">85.0 %</td> + <td class="headerCovTableEntryMed">84.9 %</td> </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">61</td> @@ -92,94 +92,94 @@ <a name="21"><span class="lineNum"> 21 </span> : : struct dt_node *dt_root;</a> <a name="22"><span class="lineNum"> 22 </span> : : struct dt_node *dt_chosen;</a> <a name="23"><span class="lineNum"> 23 </span> : : </a> -<a name="24"><span class="lineNum"> 24 </span> :<span class="lineCov"> 5448 : static const char *take_name(const char *name)</span></a> +<a name="24"><span class="lineNum"> 24 </span> :<span class="lineCov"> 3472 : static const char *take_name(const char *name)</span></a> <a name="25"><span class="lineNum"> 25 </span> : : {</a> -<a name="26"><span class="lineNum"> 26 </span> :<span class="lineCov"> 5448 : if (!is_rodata(name) && !(name = strdup(name))) {</span></a> +<a name="26"><span class="lineNum"> 26 </span> :<span class="lineCov"> 3472 : if (!is_rodata(name) && !(name = strdup(name))) {</span></a> <a name="27"><span class="lineNum"> 27 </span> :<span class="lineNoCov"> 0 : prerror("Failed to allocate copy of name");</span></a> <a name="28"><span class="lineNum"> 28 </span> :<span class="lineNoCov"> 0 : abort();</span></a> <a name="29"><span class="lineNum"> 29 </span> : : }</a> -<a name="30"><span class="lineNum"> 30 </span> :<span class="lineCov"> 5448 : return name;</span></a> +<a name="30"><span class="lineNum"> 30 </span> :<span class="lineCov"> 3472 : return name;</span></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> :<span class="lineCov"> 5329 : static void free_name(const char *name)</span></a> +<a name="33"><span class="lineNum"> 33 </span> :<span class="lineCov"> 3353 : static void free_name(const char *name)</span></a> <a name="34"><span class="lineNum"> 34 </span> : : {</a> -<a name="35"><span class="lineNum"> 35 </span> :<span class="lineCov"> 5271 : if (!is_rodata(name))</span></a> -<a name="36"><span class="lineNum"> 36 </span> :<span class="lineCov"> 5328 : free((char *)name);</span></a> -<a name="37"><span class="lineNum"> 37 </span> :<span class="lineCov"> 5329 : }</span></a> +<a name="35"><span class="lineNum"> 35 </span> :<span class="lineCov"> 3295 : if (!is_rodata(name))</span></a> +<a name="36"><span class="lineNum"> 36 </span> :<span class="lineCov"> 3352 : free((char *)name);</span></a> +<a name="37"><span class="lineNum"> 37 </span> :<span class="lineCov"> 3353 : }</span></a> <a name="38"><span class="lineNum"> 38 </span> : : </a> -<a name="39"><span class="lineNum"> 39 </span> :<span class="lineCov"> 893 : static struct dt_node *new_node(const char *name)</span></a> +<a name="39"><span class="lineNum"> 39 </span> :<span class="lineCov"> 736 : static struct dt_node *new_node(const char *name)</span></a> <a name="40"><span class="lineNum"> 40 </span> : : {</a> -<a name="41"><span class="lineNum"> 41 </span> :<span class="lineCov"> 893 : struct dt_node *node = malloc(sizeof *node);</span></a> -<a name="42"><span class="lineNum"> 42 </span> :<span class="lineCov"> 893 : if (!node) {</span></a> +<a name="41"><span class="lineNum"> 41 </span> :<span class="lineCov"> 736 : struct dt_node *node = malloc(sizeof *node);</span></a> +<a name="42"><span class="lineNum"> 42 </span> :<span class="lineCov"> 736 : if (!node) {</span></a> <a name="43"><span class="lineNum"> 43 </span> :<span class="lineNoCov"> 0 : prerror("Failed to allocate node\n");</span></a> <a name="44"><span class="lineNum"> 44 </span> :<span class="lineNoCov"> 0 : abort();</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> :<span class="lineCov"> 893 : node->name = take_name(name);</span></a> -<a name="48"><span class="lineNum"> 48 </span> :<span class="lineCov"> 893 : node->parent = NULL;</span></a> -<a name="49"><span class="lineNum"> 49 </span> :<span class="lineCov"> 893 : list_head_init(&node->properties);</span></a> -<a name="50"><span class="lineNum"> 50 </span> :<span class="lineCov"> 893 : list_head_init(&node->children);</span></a> +<a name="47"><span class="lineNum"> 47 </span> :<span class="lineCov"> 736 : node->name = take_name(name);</span></a> +<a name="48"><span class="lineNum"> 48 </span> :<span class="lineCov"> 736 : node->parent = NULL;</span></a> +<a name="49"><span class="lineNum"> 49 </span> :<span class="lineCov"> 736 : list_head_init(&node->properties);</span></a> +<a name="50"><span class="lineNum"> 50 </span> :<span class="lineCov"> 736 : list_head_init(&node->children);</span></a> <a name="51"><span class="lineNum"> 51 </span> : : /* FIXME: locking? */</a> -<a name="52"><span class="lineNum"> 52 </span> :<span class="lineCov"> 893 : node->phandle = new_phandle();</span></a> -<a name="53"><span class="lineNum"> 53 </span> :<span class="lineCov"> 893 : return node;</span></a> +<a name="52"><span class="lineNum"> 52 </span> :<span class="lineCov"> 736 : node->phandle = new_phandle();</span></a> +<a name="53"><span class="lineNum"> 53 </span> :<span class="lineCov"> 736 : return node;</span></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> :<span class="lineCov"> 51 : struct dt_node *dt_new_root(const char *name)</span></a> +<a name="56"><span class="lineNum"> 56 </span> :<span class="lineCov"> 49 : struct dt_node *dt_new_root(const char *name)</span></a> <a name="57"><span class="lineNum"> 57 </span> : : {</a> -<a name="58"><span class="lineNum"> 58 </span> :<span class="lineCov"> 51 : return new_node(name);</span></a> +<a name="58"><span class="lineNum"> 58 </span> :<span class="lineCov"> 49 : return new_node(name);</span></a> <a name="59"><span class="lineNum"> 59 </span> : : }</a> <a name="60"><span class="lineNum"> 60 </span> : : </a> -<a name="61"><span class="lineNum"> 61 </span> :<span class="lineCov"> 18371 : static const char *get_unitname(const struct dt_node *node)</span></a> +<a name="61"><span class="lineNum"> 61 </span> :<span class="lineCov"> 13085 : static const char *get_unitname(const struct dt_node *node)</span></a> <a name="62"><span class="lineNum"> 62 </span> : : {</a> -<a name="63"><span class="lineNum"> 63 </span> :<span class="lineCov"> 18371 : const char *c = strchr(node->name, '@');</span></a> +<a name="63"><span class="lineNum"> 63 </span> :<span class="lineCov"> 13085 : const char *c = strchr(node->name, '@');</span></a> <a name="64"><span class="lineNum"> 64 </span> : : </a> -<a name="65"><span class="lineNum"> 65 </span> :<span class="lineCov"> 18371 : if (!c)</span></a> -<a name="66"><span class="lineNum"> 66 </span> :<span class="lineCov"> 11399 : return NULL;</span></a> +<a name="65"><span class="lineNum"> 65 </span> :<span class="lineCov"> 13085 : if (!c)</span></a> +<a name="66"><span class="lineNum"> 66 </span> :<span class="lineCov"> 11247 : return NULL;</span></a> <a name="67"><span class="lineNum"> 67 </span> : : </a> -<a name="68"><span class="lineNum"> 68 </span> :<span class="lineCov"> 6972 : return c + 1;</span></a> +<a name="68"><span class="lineNum"> 68 </span> :<span class="lineCov"> 1838 : return c + 1;</span></a> <a name="69"><span class="lineNum"> 69 </span> : : }</a> <a name="70"><span class="lineNum"> 70 </span> : : </a> -<a name="71"><span class="lineNum"> 71 </span> :<span class="lineCov"> 7985 : int dt_cmp_subnodes(const struct dt_node *a, const struct dt_node *b)</span></a> +<a name="71"><span class="lineNum"> 71 </span> :<span class="lineCov"> 6151 : int dt_cmp_subnodes(const struct dt_node *a, const struct dt_node *b)</span></a> <a name="72"><span class="lineNum"> 72 </span> : : {</a> -<a name="73"><span class="lineNum"> 73 </span> :<span class="lineCov"> 7985 : const char *a_unit = get_unitname(a);</span></a> -<a name="74"><span class="lineNum"> 74 </span> :<span class="lineCov"> 7985 : const char *b_unit = get_unitname(b);</span></a> +<a name="73"><span class="lineNum"> 73 </span> :<span class="lineCov"> 6151 : const char *a_unit = get_unitname(a);</span></a> +<a name="74"><span class="lineNum"> 74 </span> :<span class="lineCov"> 6151 : const char *b_unit = get_unitname(b);</span></a> <a name="75"><span class="lineNum"> 75 </span> : : </a> -<a name="76"><span class="lineNum"> 76 </span> :<span class="lineCov"> 7985 : ptrdiff_t basenamelen = a_unit - a->name;</span></a> +<a name="76"><span class="lineNum"> 76 </span> :<span class="lineCov"> 6151 : ptrdiff_t basenamelen = a_unit - a->name;</span></a> <a name="77"><span class="lineNum"> 77 </span> : : </a> <a name="78"><span class="lineNum"> 78 </span> : : /* sort hex unit addresses by number */</a> -<a name="79"><span class="lineNum"> 79 </span> :<span class="lineCov"> 7985 : if (a_unit && b_unit && !strncmp(a->name, b->name, basenamelen)) {</span></a> +<a name="79"><span class="lineNum"> 79 </span> :<span class="lineCov"> 6151 : if (a_unit && b_unit && !strncmp(a->name, b->name, basenamelen)) {</span></a> <a name="80"><span class="lineNum"> 80 </span> : : unsigned long long a_num, b_num;</a> <a name="81"><span class="lineNum"> 81 </span> : : char *a_end, *b_end;</a> <a name="82"><span class="lineNum"> 82 </span> : : </a> -<a name="83"><span class="lineNum"> 83 </span> :<span class="lineCov"> 1102 : a_num = strtoul(a_unit, &a_end, 16);</span></a> -<a name="84"><span class="lineNum"> 84 </span> :<span class="lineCov"> 1102 : b_num = strtoul(b_unit, &b_end, 16);</span></a> +<a name="83"><span class="lineNum"> 83 </span> :<span class="lineCov"> 295 : a_num = strtoul(a_unit, &a_end, 16);</span></a> +<a name="84"><span class="lineNum"> 84 </span> :<span class="lineCov"> 295 : b_num = strtoul(b_unit, &b_end, 16);</span></a> <a name="85"><span class="lineNum"> 85 </span> : : </a> <a name="86"><span class="lineNum"> 86 </span> : : /* only compare if the unit addr parsed correctly */</a> -<a name="87"><span class="lineNum"> 87 </span> :<span class="lineCov"> 1102 : if (*a_end == 0 && *b_end == 0)</span></a> -<a name="88"><span class="lineNum"> 88 </span> :<span class="lineCov"> 1101 : return (a_num > b_num) - (a_num < b_num);</span></a> +<a name="87"><span class="lineNum"> 87 </span> :<span class="lineCov"> 295 : if (*a_end == 0 && *b_end == 0)</span></a> +<a name="88"><span class="lineNum"> 88 </span> :<span class="lineCov"> 294 : return (a_num > b_num) - (a_num < b_num);</span></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> :<span class="lineCov"> 6884 : return strcmp(a->name, b->name);</span></a> +<a name="91"><span class="lineNum"> 91 </span> :<span class="lineCov"> 5857 : return strcmp(a->name, b->name);</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> :<span class="lineCov"> 851 : bool dt_attach_root(struct dt_node *parent, struct dt_node *root)</span></a> +<a name="94"><span class="lineNum"> 94 </span> :<span class="lineCov"> 696 : bool dt_attach_root(struct dt_node *parent, struct dt_node *root)</span></a> <a name="95"><span class="lineNum"> 95 </span> : : {</a> <a name="96"><span class="lineNum"> 96 </span> : : struct dt_node *node;</a> <a name="97"><span class="lineNum"> 97 </span> : : </a> -<a name="98"><span class="lineNum"> 98 </span> :<span class="lineCov"> 851 : assert(!root->parent);</span></a> +<a name="98"><span class="lineNum"> 98 </span> :<span class="lineCov"> 696 : assert(!root->parent);</span></a> <a name="99"><span class="lineNum"> 99 </span> : : </a> -<a name="100"><span class="lineNum"> 100 </span> :<span class="lineCov"> 851 : if (list_empty(&parent->children)) {</span></a> -<a name="101"><span class="lineNum"> 101 </span> :<span class="lineCov"> 126 : list_add(&parent->children, &root->list);</span></a> -<a name="102"><span class="lineNum"> 102 </span> :<span class="lineCov"> 126 : root->parent = parent;</span></a> +<a name="100"><span class="lineNum"> 100 </span> :<span class="lineCov"> 696 : if (list_empty(&parent->children)) {</span></a> +<a name="101"><span class="lineNum"> 101 </span> :<span class="lineCov"> 110 : list_add(&parent->children, &root->list);</span></a> +<a name="102"><span class="lineNum"> 102 </span> :<span class="lineCov"> 110 : root->parent = parent;</span></a> <a name="103"><span class="lineNum"> 103 </span> : : </a> -<a name="104"><span class="lineNum"> 104 </span> :<span class="lineCov"> 126 : return true;</span></a> +<a name="104"><span class="lineNum"> 104 </span> :<span class="lineCov"> 110 : 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"> 8002 : dt_for_each_child(parent, node) {</span></a> -<a name="108"><span class="lineNum"> 108 </span> :<span class="lineCov"> 7862 : int cmp = dt_cmp_subnodes(node, root);</span></a> +<a name="107"><span class="lineNum"> 107 </span> :<span class="lineCov"> 6133 : dt_for_each_child(parent, node) {</span></a> +<a name="108"><span class="lineNum"> 108 </span> :<span class="lineCov"> 6028 : int cmp = dt_cmp_subnodes(node, root);</span></a> <a name="109"><span class="lineNum"> 109 </span> : : </a> <a name="110"><span class="lineNum"> 110 </span> : : /* Look for duplicates */</a> -<a name="111"><span class="lineNum"> 111 </span> :<span class="lineCov"> 7862 : if (cmp == 0) {</span></a> +<a name="111"><span class="lineNum"> 111 </span> :<span class="lineCov"> 6028 : if (cmp == 0) {</span></a> <a name="112"><span class="lineNum"> 112 </span> :<span class="lineCov"> 4 : prerror("DT: %s failed, duplicate %s\n",</span></a> <a name="113"><span class="lineNum"> 113 </span> : : __func__, root->name);</a> <a name="114"><span class="lineNum"> 114 </span> :<span class="lineCov"> 4 : return false;</span></a> @@ -187,36 +187,36 @@ <a name="116"><span class="lineNum"> 116 </span> : : </a> <a name="117"><span class="lineNum"> 117 </span> : : /* insert before the first node that's larger</a> <a name="118"><span class="lineNum"> 118 </span> : : * the the node we're inserting */</a> -<a name="119"><span class="lineNum"> 119 </span> :<span class="lineCov"> 7858 : if (cmp > 0)</span></a> -<a name="120"><span class="lineNum"> 120 </span> :<span class="lineCov"> 581 : break;</span></a> +<a name="119"><span class="lineNum"> 119 </span> :<span class="lineCov"> 6024 : if (cmp > 0)</span></a> +<a name="120"><span class="lineNum"> 120 </span> :<span class="lineCov"> 477 : break;</span></a> <a name="121"><span class="lineNum"> 121 </span> : : }</a> <a name="122"><span class="lineNum"> 122 </span> : : </a> -<a name="123"><span class="lineNum"> 123 </span> :<span class="lineCov"> 721 : list_add_before(&parent->children, &node->list, &root->list);</span></a> -<a name="124"><span class="lineNum"> 124 </span> :<span class="lineCov"> 721 : root->parent = parent;</span></a> +<a name="123"><span class="lineNum"> 123 </span> :<span class="lineCov"> 582 : list_add_before(&parent->children, &node->list, &root->list);</span></a> +<a name="124"><span class="lineNum"> 124 </span> :<span class="lineCov"> 582 : root->parent = parent;</span></a> <a name="125"><span class="lineNum"> 125 </span> : : </a> -<a name="126"><span class="lineNum"> 126 </span> :<span class="lineCov"> 721 : return true;</span></a> +<a name="126"><span class="lineNum"> 126 </span> :<span class="lineCov"> 582 : return true;</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> :<span class="lineCov"> 862 : static inline void dt_destroy(struct dt_node *dn)</span></a> +<a name="129"><span class="lineNum"> 129 </span> :<span class="lineCov"> 705 : static inline void dt_destroy(struct dt_node *dn)</span></a> <a name="130"><span class="lineNum"> 130 </span> : : {</a> -<a name="131"><span class="lineNum"> 131 </span> :<span class="lineCov"> 862 : if (!dn)</span></a> +<a name="131"><span class="lineNum"> 131 </span> :<span class="lineCov"> 705 : if (!dn)</span></a> <a name="132"><span class="lineNum"> 132 </span> :<span class="lineNoCov"> 0 : return;</span></a> <a name="133"><span class="lineNum"> 133 </span> : : </a> -<a name="134"><span class="lineNum"> 134 </span> :<span class="lineCov"> 862 : free_name(dn->name);</span></a> -<a name="135"><span class="lineNum"> 135 </span> :<span class="lineCov"> 862 : free(dn);</span></a> +<a name="134"><span class="lineNum"> 134 </span> :<span class="lineCov"> 705 : free_name(dn->name);</span></a> +<a name="135"><span class="lineNum"> 135 </span> :<span class="lineCov"> 705 : free(dn);</span></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> :<span class="lineCov"> 609 : struct dt_node *dt_new(struct dt_node *parent, const char *name)</span></a> +<a name="138"><span class="lineNum"> 138 </span> :<span class="lineCov"> 598 : struct dt_node *dt_new(struct dt_node *parent, const char *name)</span></a> <a name="139"><span class="lineNum"> 139 </span> : : {</a> <a name="140"><span class="lineNum"> 140 </span> : : struct dt_node *new;</a> -<a name="141"><span class="lineNum"> 141 </span> :<span class="lineCov"> 609 : assert(parent);</span></a> +<a name="141"><span class="lineNum"> 141 </span> :<span class="lineCov"> 598 : assert(parent);</span></a> <a name="142"><span class="lineNum"> 142 </span> : : </a> -<a name="143"><span class="lineNum"> 143 </span> :<span class="lineCov"> 609 : new = new_node(name);</span></a> -<a name="144"><span class="lineNum"> 144 </span> :<span class="lineCov"> 609 : if (!dt_attach_root(parent, new)) {</span></a> +<a name="143"><span class="lineNum"> 143 </span> :<span class="lineCov"> 598 : new = new_node(name);</span></a> +<a name="144"><span class="lineNum"> 144 </span> :<span class="lineCov"> 598 : if (!dt_attach_root(parent, new)) {</span></a> <a name="145"><span class="lineNum"> 145 </span> :<span class="lineCov"> 1 : dt_destroy(new);</span></a> <a name="146"><span class="lineNum"> 146 </span> :<span class="lineCov"> 1 : return NULL;</span></a> <a name="147"><span class="lineNum"> 147 </span> : : }</a> -<a name="148"><span class="lineNum"> 148 </span> :<span class="lineCov"> 608 : return new;</span></a> +<a name="148"><span class="lineNum"> 148 </span> :<span class="lineCov"> 597 : return new;</span></a> <a name="149"><span class="lineNum"> 149 </span> : : }</a> <a name="150"><span class="lineNum"> 150 </span> : : </a> <a name="151"><span class="lineNum"> 151 </span> : : /*</a> @@ -224,70 +224,70 @@ <a name="153"><span class="lineNum"> 153 </span> : : * formats, such as LPC/ISA bus addresses which have a letter to identify</a> <a name="154"><span class="lineNum"> 154 </span> : : * which bus space the address is inside of.</a> <a name="155"><span class="lineNum"> 155 </span> : : */</a> -<a name="156"><span class="lineNum"> 156 </span> :<span class="lineCov"> 1905 : struct dt_node *__dt_find_by_name_addr(struct dt_node *parent, const char *name,</span></a> +<a name="156"><span class="lineNum"> 156 </span> :<span class="lineCov"> 634 : struct dt_node *__dt_find_by_name_addr(struct dt_node *parent, const char *name,</span></a> <a name="157"><span class="lineNum"> 157 </span> : : const char *addr)</a> <a name="158"><span class="lineNum"> 158 </span> : : {</a> <a name="159"><span class="lineNum"> 159 </span> : : struct dt_node *node;</a> <a name="160"><span class="lineNum"> 160 </span> : : </a> -<a name="161"><span class="lineNum"> 161 </span> :<span class="lineCov"> 1905 : if (list_empty(&parent->children))</span></a> -<a name="162"><span class="lineNum"> 162 </span> :<span class="lineCov"> 1385 : return NULL;</span></a> +<a name="161"><span class="lineNum"> 161 </span> :<span class="lineCov"> 634 : if (list_empty(&parent->children))</span></a> +<a name="162"><span class="lineNum"> 162 </span> :<span class="lineCov"> 413 : return NULL;</span></a> <a name="163"><span class="lineNum"> 163 </span> : : </a> -<a name="164"><span class="lineNum"> 164 </span> :<span class="lineCov"> 2826 : dt_for_each_child(parent, node) {</span></a> -<a name="165"><span class="lineNum"> 165 </span> :<span class="lineCov"> 2401 : const char *unit = get_unitname(node);</span></a> +<a name="164"><span class="lineNum"> 164 </span> :<span class="lineCov"> 963 : dt_for_each_child(parent, node) {</span></a> +<a name="165"><span class="lineNum"> 165 </span> :<span class="lineCov"> 783 : const char *unit = get_unitname(node);</span></a> <a name="166"><span class="lineNum"> 166 </span> : : int len;</a> <a name="167"><span class="lineNum"> 167 </span> : : </a> -<a name="168"><span class="lineNum"> 168 </span> :<span class="lineCov"> 2401 : if (!unit)</span></a> -<a name="169"><span class="lineNum"> 169 </span> :<span class="lineCov"> 39 : continue;</span></a> +<a name="168"><span class="lineNum"> 168 </span> :<span class="lineCov"> 783 : if (!unit)</span></a> +<a name="169"><span class="lineNum"> 169 </span> :<span class="lineCov"> 15 : continue;</span></a> <a name="170"><span class="lineNum"> 170 </span> : : </a> <a name="171"><span class="lineNum"> 171 </span> : : /* match the name */</a> -<a name="172"><span class="lineNum"> 172 </span> :<span class="lineCov"> 2362 : len = (int) (unit - node->name) - 1;</span></a> -<a name="173"><span class="lineNum"> 173 </span> :<span class="lineCov"> 2362 : if (strncmp(node->name, name, len))</span></a> -<a name="174"><span class="lineNum"> 174 </span> :<span class="lineCov"> 2171 : continue;</span></a> +<a name="172"><span class="lineNum"> 172 </span> :<span class="lineCov"> 768 : len = (int) (unit - node->name) - 1;</span></a> +<a name="173"><span class="lineNum"> 173 </span> :<span class="lineCov"> 768 : if (strncmp(node->name, name, len))</span></a> +<a name="174"><span class="lineNum"> 174 </span> :<span class="lineCov"> 697 : continue;</span></a> <a name="175"><span class="lineNum"> 175 </span> : : </a> <a name="176"><span class="lineNum"> 176 </span> : : /* match the unit */</a> -<a name="177"><span class="lineNum"> 177 </span> :<span class="lineCov"> 191 : if (strcmp(unit, addr) == 0)</span></a> -<a name="178"><span class="lineNum"> 178 </span> :<span class="lineCov"> 95 : return node;</span></a> +<a name="177"><span class="lineNum"> 177 </span> :<span class="lineCov"> 71 : if (strcmp(unit, addr) == 0)</span></a> +<a name="178"><span class="lineNum"> 178 </span> :<span class="lineCov"> 41 : return node;</span></a> <a name="179"><span class="lineNum"> 179 </span> : : }</a> <a name="180"><span class="lineNum"> 180 </span> : : </a> -<a name="181"><span class="lineNum"> 181 </span> :<span class="lineCov"> 1999 : dt_for_each_child(parent, node) {</span></a> -<a name="182"><span class="lineNum"> 182 </span> :<span class="lineCov"> 1741 : struct dt_node *ret = __dt_find_by_name_addr(node, name, addr);</span></a> +<a name="181"><span class="lineNum"> 181 </span> :<span class="lineCov"> 671 : dt_for_each_child(parent, node) {</span></a> +<a name="182"><span class="lineNum"> 182 </span> :<span class="lineCov"> 563 : struct dt_node *ret = __dt_find_by_name_addr(node, name, addr);</span></a> <a name="183"><span class="lineNum"> 183 </span> : : </a> -<a name="184"><span class="lineNum"> 184 </span> :<span class="lineCov"> 1741 : if (ret)</span></a> -<a name="185"><span class="lineNum"> 185 </span> :<span class="lineCov"> 167 : return ret;</span></a> +<a name="184"><span class="lineNum"> 184 </span> :<span class="lineCov"> 563 : if (ret)</span></a> +<a name="185"><span class="lineNum"> 185 </span> :<span class="lineCov"> 72 : return ret;</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"> 258 : return NULL;</span></a> +<a name="188"><span class="lineNum"> 188 </span> :<span class="lineCov"> 108 : return NULL;</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> :<span class="lineCov"> 164 : struct dt_node *dt_find_by_name_addr(struct dt_node *parent, const char *name,</span></a> +<a name="191"><span class="lineNum"> 191 </span> :<span class="lineCov"> 71 : struct dt_node *dt_find_by_name_addr(struct dt_node *parent, const char *name,</span></a> <a name="192"><span class="lineNum"> 192 </span> : : uint64_t addr)</a> <a name="193"><span class="lineNum"> 193 </span> : : {</a> <a name="194"><span class="lineNum"> 194 </span> : : char addr_str[16 + 1]; /* max size of a 64bit int */</a> -<a name="195"><span class="lineNum"> 195 </span> :<span class="lineCov"> 164 : snprintf(addr_str, sizeof(addr_str), "%" PRIx64, addr);</span></a> +<a name="195"><span class="lineNum"> 195 </span> :<span class="lineCov"> 71 : snprintf(addr_str, sizeof(addr_str), "%" PRIx64, addr);</span></a> <a name="196"><span class="lineNum"> 196 </span> : : </a> -<a name="197"><span class="lineNum"> 197 </span> :<span class="lineCov"> 164 : return __dt_find_by_name_addr(parent, name, addr_str);</span></a> +<a name="197"><span class="lineNum"> 197 </span> :<span class="lineCov"> 71 : return __dt_find_by_name_addr(parent, name, addr_str);</span></a> <a name="198"><span class="lineNum"> 198 </span> : : }</a> <a name="199"><span class="lineNum"> 199 </span> : : </a> -<a name="200"><span class="lineNum"> 200 </span> :<span class="lineCov"> 231 : struct dt_node *dt_new_addr(struct dt_node *parent, const char *name,</span></a> +<a name="200"><span class="lineNum"> 200 </span> :<span class="lineCov"> 87 : struct dt_node *dt_new_addr(struct dt_node *parent, const char *name,</span></a> <a name="201"><span class="lineNum"> 201 </span> : : uint64_t addr)</a> <a name="202"><span class="lineNum"> 202 </span> : : {</a> <a name="203"><span class="lineNum"> 203 </span> : : char *lname;</a> <a name="204"><span class="lineNum"> 204 </span> : : struct dt_node *new;</a> <a name="205"><span class="lineNum"> 205 </span> : : size_t len;</a> <a name="206"><span class="lineNum"> 206 </span> : : </a> -<a name="207"><span class="lineNum"> 207 </span> :<span class="lineCov"> 231 : assert(parent);</span></a> -<a name="208"><span class="lineNum"> 208 </span> :<span class="lineCov"> 231 : len = strlen(name) + STR_MAX_CHARS(addr) + 2;</span></a> -<a name="209"><span class="lineNum"> 209 </span> :<span class="lineCov"> 231 : lname = malloc(len);</span></a> -<a name="210"><span class="lineNum"> 210 </span> :<span class="lineCov"> 231 : if (!lname)</span></a> +<a name="207"><span class="lineNum"> 207 </span> :<span class="lineCov"> 87 : assert(parent);</span></a> +<a name="208"><span class="lineNum"> 208 </span> :<span class="lineCov"> 87 : len = strlen(name) + STR_MAX_CHARS(addr) + 2;</span></a> +<a name="209"><span class="lineNum"> 209 </span> :<span class="lineCov"> 87 : lname = malloc(len);</span></a> +<a name="210"><span class="lineNum"> 210 </span> :<span class="lineCov"> 87 : if (!lname)</span></a> <a name="211"><span class="lineNum"> 211 </span> :<span class="lineNoCov"> 0 : return NULL;</span></a> -<a name="212"><span class="lineNum"> 212 </span> :<span class="lineCov"> 231 : snprintf(lname, len, "%s@%llx", name, (long long)addr);</span></a> -<a name="213"><span class="lineNum"> 213 </span> :<span class="lineCov"> 231 : new = new_node(lname);</span></a> -<a name="214"><span class="lineNum"> 214 </span> :<span class="lineCov"> 231 : free(lname);</span></a> -<a name="215"><span class="lineNum"> 215 </span> :<span class="lineCov"> 231 : if (!dt_attach_root(parent, new)) {</span></a> +<a name="212"><span class="lineNum"> 212 </span> :<span class="lineCov"> 87 : snprintf(lname, len, "%s@%llx", name, (long long)addr);</span></a> +<a name="213"><span class="lineNum"> 213 </span> :<span class="lineCov"> 87 : new = new_node(lname);</span></a> +<a name="214"><span class="lineNum"> 214 </span> :<span class="lineCov"> 87 : free(lname);</span></a> +<a name="215"><span class="lineNum"> 215 </span> :<span class="lineCov"> 87 : if (!dt_attach_root(parent, new)) {</span></a> <a name="216"><span class="lineNum"> 216 </span> :<span class="lineCov"> 1 : dt_destroy(new);</span></a> <a name="217"><span class="lineNum"> 217 </span> :<span class="lineCov"> 1 : return NULL;</span></a> <a name="218"><span class="lineNum"> 218 </span> : : }</a> -<a name="219"><span class="lineNum"> 219 </span> :<span class="lineCov"> 230 : return new;</span></a> +<a name="219"><span class="lineNum"> 219 </span> :<span class="lineCov"> 86 : return new;</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"> 2 : struct dt_node *dt_new_2addr(struct dt_node *parent, const char *name,</span></a> @@ -381,72 +381,72 @@ <a name="310"><span class="lineNum"> 310 </span> :<span class="lineCov"> 10 : return p;</span></a> <a name="311"><span class="lineNum"> 311 </span> : : }</a> <a name="312"><span class="lineNum"> 312 </span> : : </a> -<a name="313"><span class="lineNum"> 313 </span> :<span class="lineCov"> 2115 : static const char *__dt_path_split(const char *p,</span></a> +<a name="313"><span class="lineNum"> 313 </span> :<span class="lineCov"> 1589 : static const char *__dt_path_split(const char *p,</span></a> <a name="314"><span class="lineNum"> 314 </span> : : const char **namep, unsigned int *namel,</a> <a name="315"><span class="lineNum"> 315 </span> : : const char **addrp, unsigned int *addrl)</a> <a name="316"><span class="lineNum"> 316 </span> : : {</a> <a name="317"><span class="lineNum"> 317 </span> : : const char *at, *sl;</a> <a name="318"><span class="lineNum"> 318 </span> : : </a> -<a name="319"><span class="lineNum"> 319 </span> :<span class="lineCov"> 2115 : *namel = *addrl = 0;</span></a> +<a name="319"><span class="lineNum"> 319 </span> :<span class="lineCov"> 1589 : *namel = *addrl = 0;</span></a> <a name="320"><span class="lineNum"> 320 </span> : : </a> <a name="321"><span class="lineNum"> 321 </span> : : /* Skip initial '/' */</a> -<a name="322"><span class="lineNum"> 322 </span> :<span class="lineCov"> 2260 : while (*p == '/')</span></a> -<a name="323"><span class="lineNum"> 323 </span> :<span class="lineCov"> 145 : p++;</span></a> +<a name="322"><span class="lineNum"> 322 </span> :<span class="lineCov"> 1715 : while (*p == '/')</span></a> +<a name="323"><span class="lineNum"> 323 </span> :<span class="lineCov"> 126 : p++;</span></a> <a name="324"><span class="lineNum"> 324 </span> : : </a> <a name="325"><span class="lineNum"> 325 </span> : : /* Check empty path */</a> -<a name="326"><span class="lineNum"> 326 </span> :<span class="lineCov"> 2115 : if (*p == 0)</span></a> +<a name="326"><span class="lineNum"> 326 </span> :<span class="lineCov"> 1589 : if (*p == 0)</span></a> <a name="327"><span class="lineNum"> 327 </span> :<span class="lineNoCov"> 0 : return p;</span></a> <a name="328"><span class="lineNum"> 328 </span> : : </a> -<a name="329"><span class="lineNum"> 329 </span> :<span class="lineCov"> 2115 : at = strchr(p, '@');</span></a> -<a name="330"><span class="lineNum"> 330 </span> :<span class="lineCov"> 2115 : sl = strchr(p, '/');</span></a> -<a name="331"><span class="lineNum"> 331 </span> :<span class="lineCov"> 2115 : if (sl == NULL)</span></a> -<a name="332"><span class="lineNum"> 332 </span> :<span class="lineCov"> 2028 : sl = p + strlen(p);</span></a> -<a name="333"><span class="lineNum"> 333 </span> :<span class="lineCov"> 2115 : if (sl < at)</span></a> +<a name="329"><span class="lineNum"> 329 </span> :<span class="lineCov"> 1589 : at = strchr(p, '@');</span></a> +<a name="330"><span class="lineNum"> 330 </span> :<span class="lineCov"> 1589 : sl = strchr(p, '/');</span></a> +<a name="331"><span class="lineNum"> 331 </span> :<span class="lineCov"> 1589 : if (sl == NULL)</span></a> +<a name="332"><span class="lineNum"> 332 </span> :<span class="lineCov"> 1503 : sl = p + strlen(p);</span></a> +<a name="333"><span class="lineNum"> 333 </span> :<span class="lineCov"> 1589 : if (sl < at)</span></a> <a name="334"><span class="lineNum"> 334 </span> :<span class="lineCov"> 2 : at = NULL;</span></a> -<a name="335"><span class="lineNum"> 335 </span> :<span class="lineCov"> 2115 : if (at) {</span></a> -<a name="336"><span class="lineNum"> 336 </span> :<span class="lineCov"> 558 : *addrp = at + 1;</span></a> -<a name="337"><span class="lineNum"> 337 </span> :<span class="lineCov"> 558 : *addrl = sl - at - 1;</span></a> +<a name="335"><span class="lineNum"> 335 </span> :<span class="lineCov"> 1589 : if (at) {</span></a> +<a name="336"><span class="lineNum"> 336 </span> :<span class="lineCov"> 144 : *addrp = at + 1;</span></a> +<a name="337"><span class="lineNum"> 337 </span> :<span class="lineCov"> 144 : *addrl = sl - at - 1;</span></a> <a name="338"><span class="lineNum"> 338 </span> : : }</a> -<a name="339"><span class="lineNum"> 339 </span> :<span class="lineCov"> 2115 : *namep = p;</span></a> -<a name="340"><span class="lineNum"> 340 </span> :<span class="lineCov"> 2115 : *namel = at ? (at - p) : (sl - p);</span></a> +<a name="339"><span class="lineNum"> 339 </span> :<span class="lineCov"> 1589 : *namep = p;</span></a> +<a name="340"><span class="lineNum"> 340 </span> :<span class="lineCov"> 1589 : *namel = at ? (at - p) : (sl - p);</span></a> <a name="341"><span class="lineNum"> 341 </span> : : </a> -<a name="342"><span class="lineNum"> 342 </span> :<span class="lineCov"> 2115 : return sl;</span></a> +<a name="342"><span class="lineNum"> 342 </span> :<span class="lineCov"> 1589 : return sl;</span></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> :<span class="lineCov"> 115 : struct dt_node *dt_find_by_path(struct dt_node *root, const char *path)</span></a> +<a name="345"><span class="lineNum"> 345 </span> :<span class="lineCov"> 93 : struct dt_node *dt_find_by_path(struct dt_node *root, const char *path)</span></a> <a name="346"><span class="lineNum"> 346 </span> : : {</a> <a name="347"><span class="lineNum"> 347 </span> : : struct dt_node *n;</a> -<a name="348"><span class="lineNum"> 348 </span> :<span class="lineCov"> 115 : const char *pn, *pa, *p = path, *nn, *na;</span></a> +<a name="348"><span class="lineNum"> 348 </span> :<span class="lineCov"> 93 : const char *pn, *pa, *p = path, *nn, *na;</span></a> <a name="349"><span class="lineNum"> 349 </span> : : unsigned int pnl, pal, nnl, nal;</a> <a name="350"><span class="lineNum"> 350 </span> : : bool match;</a> <a name="351"><span class="lineNum"> 351 </span> : : </a> <a name="352"><span class="lineNum"> 352 </span> : : /* Walk path components */</a> -<a name="353"><span class="lineNum"> 353 </span> :<span class="lineCov"> 233 : while (*p) {</span></a> +<a name="353"><span class="lineNum"> 353 </span> :<span class="lineCov"> 192 : while (*p) {</span></a> <a name="354"><span class="lineNum"> 354 </span> : : /* Extract next path component */</a> -<a name="355"><span class="lineNum"> 355 </span> :<span class="lineCov"> 182 : p = __dt_path_split(p, &pn, &pnl, &pa, &pal);</span></a> -<a name="356"><span class="lineNum"> 356 </span> :<span class="lineCov"> 182 : if (pnl == 0 && pal == 0)</span></a> +<a name="355"><span class="lineNum"> 355 </span> :<span class="lineCov"> 160 : p = __dt_path_split(p, &pn, &pnl, &pa, &pal);</span></a> +<a name="356"><span class="lineNum"> 356 </span> :<span class="lineCov"> 160 : if (pnl == 0 && pal == 0)</span></a> <a name="357"><span class="lineNum"> 357 </span> :<span class="lineNoCov"> 0 : break;</span></a> <a name="358"><span class="lineNum"> 358 </span> : : </a> <a name="359"><span class="lineNum"> 359 </span> : : /* Compare with each child node */</a> -<a name="360"><span class="lineNum"> 360 </span> :<span class="lineCov"> 182 : match = false;</span></a> -<a name="361"><span class="lineNum"> 361 </span> :<span class="lineCov"> 1997 : list_for_each(&root->children, n, list) {</span></a> -<a name="362"><span class="lineNum"> 362 </span> :<span class="lineCov"> 1933 : match = true;</span></a> -<a name="363"><span class="lineNum"> 363 </span> :<span class="lineCov"> 1933 : __dt_path_split(n->name, &nn, &nnl, &na, &nal);</span></a> -<a name="364"><span class="lineNum"> 364 </span> :<span class="lineCov"> 1933 : if (pnl && (pnl != nnl || strncmp(pn, nn, pnl)))</span></a> -<a name="365"><span class="lineNum"> 365 </span> :<span class="lineCov"> 1815 : match = false;</span></a> -<a name="366"><span class="lineNum"> 366 </span> :<span class="lineCov"> 1933 : if (pal && (pal != nal || strncmp(pa, na, pal)))</span></a> +<a name="360"><span class="lineNum"> 360 </span> :<span class="lineCov"> 160 : match = false;</span></a> +<a name="361"><span class="lineNum"> 361 </span> :<span class="lineCov"> 1490 : list_for_each(&root->children, n, list) {</span></a> +<a name="362"><span class="lineNum"> 362 </span> :<span class="lineCov"> 1429 : match = true;</span></a> +<a name="363"><span class="lineNum"> 363 </span> :<span class="lineCov"> 1429 : __dt_path_split(n->name, &nn, &nnl, &na, &nal);</span></a> +<a name="364"><span class="lineNum"> 364 </span> :<span class="lineCov"> 1429 : if (pnl && (pnl != nnl || strncmp(pn, nn, pnl)))</span></a> +<a name="365"><span class="lineNum"> 365 </span> :<span class="lineCov"> 1330 : match = false;</span></a> +<a name="366"><span class="lineNum"> 366 </span> :<span class="lineCov"> 1429 : if (pal && (pal != nal || strncmp(pa, na, pal)))</span></a> <a name="367"><span class="lineNum"> 367 </span> :<span class="lineNoCov"> 0 : match = false;</span></a> -<a name="368"><span class="lineNum"> 368 </span> :<span class="lineCov"> 1933 : if (match) {</span></a> -<a name="369"><span class="lineNum"> 369 </span> :<span class="lineCov"> 118 : root = n;</span></a> -<a name="370"><span class="lineNum"> 370 </span> :<span class="lineCov"> 118 : break;</span></a> +<a name="368"><span class="lineNum"> 368 </span> :<span class="lineCov"> 1429 : if (match) {</span></a> +<a name="369"><span class="lineNum"> 369 </span> :<span class="lineCov"> 99 : root = n;</span></a> +<a name="370"><span class="lineNum"> 370 </span> :<span class="lineCov"> 99 : break;</span></a> <a name="371"><span class="lineNum"> 371 </span> : : }</a> <a name="372"><span class="lineNum"> 372 </span> : : }</a> <a name="373"><span class="lineNum"> 373 </span> : : </a> <a name="374"><span class="lineNum"> 374 </span> : : /* No child match */</a> -<a name="375"><span class="lineNum"> 375 </span> :<span class="lineCov"> 182 : if (!match)</span></a> -<a name="376"><span class="lineNum"> 376 </span> :<span class="lineCov"> 64 : return NULL;</span></a> +<a name="375"><span class="lineNum"> 375 </span> :<span class="lineCov"> 160 : if (!match)</span></a> +<a name="376"><span class="lineNum"> 376 </span> :<span class="lineCov"> 61 : return NULL;</span></a> <a name="377"><span class="lineNum"> 377 </span> : : }</a> -<a name="378"><span class="lineNum"> 378 </span> :<span class="lineCov"> 51 : return root;</span></a> +<a name="378"><span class="lineNum"> 378 </span> :<span class="lineCov"> 32 : return root;</span></a> <a name="379"><span class="lineNum"> 379 </span> : : }</a> <a name="380"><span class="lineNum"> 380 </span> : : </a> <a name="381"><span class="lineNum"> 381 </span> :<span class="lineCov"> 38 : struct dt_node *dt_find_by_name(struct dt_node *root, const char *name)</span></a> @@ -512,20 +512,20 @@ <a name="441"><span class="lineNum"> 441 </span> :<span class="lineCov"> 1 : return NULL;</span></a> <a name="442"><span class="lineNum"> 442 </span> : : }</a> <a name="443"><span class="lineNum"> 443 </span> : : </a> -<a name="444"><span class="lineNum"> 444 </span> :<span class="lineCov"> 4555 : static struct dt_property *new_property(struct dt_node *node,</span></a> +<a name="444"><span class="lineNum"> 444 </span> :<span class="lineCov"> 2736 : static struct dt_property *new_property(struct dt_node *node,</span></a> <a name="445"><span class="lineNum"> 445 </span> : : const char *name, size_t size)</a> <a name="446"><span class="lineNum"> 446 </span> : : {</a> -<a name="447"><span class="lineNum"> 447 </span> :<span class="lineCov"> 4555 : struct dt_property *p = malloc(sizeof(*p) + size);</span></a> +<a name="447"><span class="lineNum"> 447 </span> :<span class="lineCov"> 2736 : struct dt_property *p = malloc(sizeof(*p) + size);</span></a> <a name="448"><span class="lineNum"> 448 </span> : : char *path;</a> <a name="449"><span class="lineNum"> 449 </span> : : </a> -<a name="450"><span class="lineNum"> 450 </span> :<span class="lineCov"> 4555 : if (!p) {</span></a> +<a name="450"><span class="lineNum"> 450 </span> :<span class="lineCov"> 2736 : if (!p) {</span></a> <a name="451"><span class="lineNum"> 451 </span> :<span class="lineNoCov"> 0 : path = dt_get_path(node);</span></a> <a name="452"><span class="lineNum"> 452 </span> :<span class="lineNoCov"> 0 : prerror("Failed to allocate property \"%s\" for %s of %zu bytes\n",</span></a> <a name="453"><span class="lineNum"> 453 </span> : : name, path, size);</a> <a name="454"><span class="lineNum"> 454 </span> :<span class="lineNoCov"> 0 : free(path);</span></a> <a name="455"><span class="lineNum"> 455 </span> :<span class="lineNoCov"> 0 : abort();</span></a> <a name="456"><span class="lineNum"> 456 </span> : : }</a> -<a name="457"><span class="lineNum"> 457 </span> :<span class="lineCov"> 4555 : if (dt_find_property(node, name)) {</span></a> +<a name="457"><span class="lineNum"> 457 </span> :<span class="lineCov"> 2736 : if (dt_find_property(node, name)) {</span></a> <a name="458"><span class="lineNum"> 458 </span> :<span class="lineNoCov"> 0 : path = dt_get_path(node);</span></a> <a name="459"><span class="lineNum"> 459 </span> :<span class="lineNoCov"> 0 : prerror("Duplicate property \"%s\" in node %s\n",</span></a> <a name="460"><span class="lineNum"> 460 </span> : : name, path);</a> @@ -534,13 +534,13 @@ <a name="463"><span class="lineNum"> 463 </span> : : </a> <a name="464"><span class="lineNum"> 464 </span> : : }</a> <a name="465"><span class="lineNum"> 465 </span> : : </a> -<a name="466"><span class="lineNum"> 466 </span> :<span class="lineCov"> 4555 : p->name = take_name(name);</span></a> -<a name="467"><span class="lineNum"> 467 </span> :<span class="lineCov"> 4555 : p->len = size;</span></a> -<a name="468"><span class="lineNum"> 468 </span> :<span class="lineCov"> 4555 : list_add_tail(&node->properties, &p->list);</span></a> -<a name="469"><span class="lineNum"> 469 </span> :<span class="lineCov"> 4555 : return p;</span></a> +<a name="466"><span class="lineNum"> 466 </span> :<span class="lineCov"> 2736 : p->name = take_name(name);</span></a> +<a name="467"><span class="lineNum"> 467 </span> :<span class="lineCov"> 2736 : p->len = size;</span></a> +<a name="468"><span class="lineNum"> 468 </span> :<span class="lineCov"> 2736 : list_add_tail(&node->properties, &p->list);</span></a> +<a name="469"><span class="lineNum"> 469 </span> :<span class="lineCov"> 2736 : return p;</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> :<span class="lineCov"> 1210 : struct dt_property *dt_add_property(struct dt_node *node,</span></a> +<a name="472"><span class="lineNum"> 472 </span> :<span class="lineCov"> 587 : struct dt_property *dt_add_property(struct dt_node *node,</span></a> <a name="473"><span class="lineNum"> 473 </span> : : const char *name,</a> <a name="474"><span class="lineNum"> 474 </span> : : const void *val, size_t size)</a> <a name="475"><span class="lineNum"> 475 </span> : : {</a> @@ -550,19 +550,19 @@ <a name="479"><span class="lineNum"> 479 </span> : : * Filter out phandle properties, we re-generate them</a> <a name="480"><span class="lineNum"> 480 </span> : : * when flattening</a> <a name="481"><span class="lineNum"> 481 </span> : : */</a> -<a name="482"><span class="lineNum"> 482 </span> :<span class="lineCov"> 1210 : if (strcmp(name, "linux,phandle") == 0 ||</span></a> -<a name="483"><span class="lineNum"> 483 </span> :<span class="lineCov"> 1210 : strcmp(name, "phandle") == 0) {</span></a> -<a name="484"><span class="lineNum"> 484 </span> :<span class="lineCov"> 10 : assert(size == 4);</span></a> -<a name="485"><span class="lineNum"> 485 </span> :<span class="lineCov"> 10 : node->phandle = *(const u32 *)val;</span></a> -<a name="486"><span class="lineNum"> 486 </span> :<span class="lineCov"> 10 : if (node->phandle >= last_phandle)</span></a> +<a name="482"><span class="lineNum"> 482 </span> :<span class="lineCov"> 587 : if (strcmp(name, "linux,phandle") == 0 ||</span></a> +<a name="483"><span class="lineNum"> 483 </span> :<span class="lineCov"> 587 : strcmp(name, "phandle") == 0) {</span></a> +<a name="484"><span class="lineNum"> 484 </span> :<span class="lineCov"> 9 : assert(size == 4);</span></a> +<a name="485"><span class="lineNum"> 485 </span> :<span class="lineCov"> 9 : node->phandle = *(const u32 *)val;</span></a> +<a name="486"><span class="lineNum"> 486 </span> :<span class="lineCov"> 9 : if (node->phandle >= last_phandle)</span></a> <a name="487"><span class="lineNum"> 487 </span> :<span class="lineCov"> 4 : set_last_phandle(node->phandle);</span></a> -<a name="488"><span class="lineNum"> 488 </span> :<span class="lineCov"> 10 : return NULL;</span></a> +<a name="488"><span class="lineNum"> 488 </span> :<span class="lineCov"> 9 : return NULL;</span></a> <a name="489"><span class="lineNum"> 489 </span> : : }</a> <a name="490"><span class="lineNum"> 490 </span> : : </a> -<a name="491"><span class="lineNum"> 491 </span> :<span class="lineCov"> 1200 : p = new_property(node, name, size);</span></a> -<a name="492"><span class="lineNum"> 492 </span> :<span class="lineCov"> 1200 : if (size)</span></a> -<a name="493"><span class="lineNum"> 493 </span> :<span class="lineCov"> 880 : memcpy(p->prop, val, size);</span></a> -<a name="494"><span class="lineNum"> 494 </span> :<span class="lineCov"> 1200 : return p;</span></a> +<a name="491"><span class="lineNum"> 491 </span> :<span class="lineCov"> 578 : p = new_property(node, name, size);</span></a> +<a name="492"><span class="lineNum"> 492 </span> :<span class="lineCov"> 578 : if (size)</span></a> +<a name="493"><span class="lineNum"> 493 </span> :<span class="lineCov"> 413 : memcpy(p->prop, val, size);</span></a> +<a name="494"><span class="lineNum"> 494 </span> :<span class="lineCov"> 578 : return p;</span></a> <a name="495"><span class="lineNum"> 495 </span> : : }</a> <a name="496"><span class="lineNum"> 496 </span> : : </a> <a name="497"><span class="lineNum"> 497 </span> :<span class="lineCov"> 112 : void dt_resize_property(struct dt_property **prop, size_t len)</span></a> @@ -577,34 +577,34 @@ <a name="506"><span class="lineNum"> 506 </span> :<span class="lineCov"> 112 : (*prop)->list.prev->next = &(*prop)->list;</span></a> <a name="507"><span class="lineNum"> 507 </span> :<span class="lineCov"> 112 : }</span></a> <a name="508"><span class="lineNum"> 508 </span> : : </a> -<a name="509"><span class="lineNum"> 509 </span> :<span class="lineCov"> 564 : struct dt_property *dt_add_property_string(struct dt_node *node,</span></a> +<a name="509"><span class="lineNum"> 509 </span> :<span class="lineCov"> 275 : struct dt_property *dt_add_property_string(struct dt_node *node,</span></a> <a name="510"><span class="lineNum"> 510 </span> : : const char *name,</a> <a name="511"><span class="lineNum"> 511 </span> : : const char *value)</a> <a name="512"><span class="lineNum"> 512 </span> : : {</a> -<a name="513"><span class="lineNum"> 513 </span> :<span class="lineCov"> 564 : size_t len = 0;</span></a> -<a name="514"><span class="lineNum"> 514 </span> :<span class="lineCov"> 564 : if (value)</span></a> -<a name="515"><span class="lineNum"> 515 </span> :<span class="lineCov"> 564 : len = strlen(value) + 1;</span></a> -<a name="516"><span class="lineNum"> 516 </span> :<span class="lineCov"> 564 : return dt_add_property(node, name, value, len);</span></a> +<a name="513"><span class="lineNum"> 513 </span> :<span class="lineCov"> 275 : size_t len = 0;</span></a> +<a name="514"><span class="lineNum"> 514 </span> :<span class="lineCov"> 275 : if (value)</span></a> +<a name="515"><span class="lineNum"> 515 </span> :<span class="lineCov"> 275 : len = strlen(value) + 1;</span></a> +<a name="516"><span class="lineNum"> 516 </span> :<span class="lineCov"> 275 : return dt_add_property(node, name, value, len);</span></a> <a name="517"><span class="lineNum"> 517 </span> : : }</a> <a name="518"><span class="lineNum"> 518 </span> : : </a> -<a name="519"><span class="lineNum"> 519 </span> :<span class="lineCov"> 5 : struct dt_property *dt_add_property_nstr(struct dt_node *node,</span></a> +<a name="519"><span class="lineNum"> 519 </span> :<span class="lineCov"> 3 : struct dt_property *dt_add_property_nstr(struct dt_node *node,</span></a> <a name="520"><span class="lineNum"> 520 </span> : : const char *name,</a> <a name="521"><span class="lineNum"> 521 </span> : : const char *value, unsigned int vlen)</a> <a name="522"><span class="lineNum"> 522 </span> : : {</a> <a name="523"><span class="lineNum"> 523 </span> : : struct dt_property *p;</a> -<a name="524"><span class="lineNum"> 524 </span> :<span class="lineCov"> 5 : char *tmp = zalloc(vlen + 1);</span></a> +<a name="524"><span class="lineNum"> 524 </span> :<span class="lineCov"> 3 : char *tmp = zalloc(vlen + 1);</span></a> <a name="525"><span class="lineNum"> 525 </span> : : </a> -<a name="526"><span class="lineNum"> 526 </span> :<span class="lineCov"> 5 : if (!tmp)</span></a> +<a name="526"><span class="lineNum"> 526 </span> :<span class="lineCov"> 3 : if (!tmp)</span></a> <a name="527"><span class="lineNum"> 527 </span> :<span class="lineNoCov"> 0 : return NULL;</span></a> <a name="528"><span class="lineNum"> 528 </span> : : </a> -<a name="529"><span class="lineNum"> 529 </span> :<span class="lineCov"> 5 : strncpy(tmp, value, vlen);</span></a> -<a name="530"><span class="lineNum"> 530 </span> :<span class="lineCov"> 5 : p = dt_add_property(node, name, tmp, strlen(tmp)+1);</span></a> -<a name="531"><span class="lineNum"> 531 </span> :<span class="lineCov"> 5 : free(tmp);</span></a> +<a name="529"><span class="lineNum"> 529 </span> :<span class="lineCov"> 3 : strncpy(tmp, value, vlen);</span></a> +<a name="530"><span class="lineNum"> 530 </span> :<span class="lineCov"> 3 : p = dt_add_property(node, name, tmp, strlen(tmp)+1);</span></a> +<a name="531"><span class="lineNum"> 531 </span> :<span class="lineCov"> 3 : free(tmp);</span></a> <a name="532"><span class="lineNum"> 532 </span> : : </a> -<a name="533"><span class="lineNum"> 533 </span> :<span class="lineCov"> 5 : return p;</span></a> +<a name="533"><span class="lineNum"> 533 </span> :<span class="lineCov"> 3 : return p;</span></a> <a name="534"><span class="lineNum"> 534 </span> : : }</a> <a name="535"><span class="lineNum"> 535 </span> : : </a> -<a name="536"><span class="lineNum"> 536 </span> :<span class="lineCov"> 3242 : struct dt_property *__dt_add_property_cells(struct dt_node *node,</span></a> +<a name="536"><span class="lineNum"> 536 </span> :<span class="lineCov"> 2109 : struct dt_property *__dt_add_property_cells(struct dt_node *node,</span></a> <a name="537"><span class="lineNum"> 537 </span> : : const char *name,</a> <a name="538"><span class="lineNum"> 538 </span> : : int count, ...)</a> <a name="539"><span class="lineNum"> 539 </span> : : {</a> @@ -613,16 +613,16 @@ <a name="542"><span class="lineNum"> 542 </span> : : unsigned int i;</a> <a name="543"><span class="lineNum"> 543 </span> : : va_list args;</a> <a name="544"><span class="lineNum"> 544 </span> : : </a> -<a name="545"><span class="lineNum"> 545 </span> :<span class="lineCov"> 3242 : p = new_property(node, name, count * sizeof(u32));</span></a> -<a name="546"><span class="lineNum"> 546 </span> :<span class="lineCov"> 3242 : val = (fdt32_t *)p->prop;</span></a> -<a name="547"><span class="lineNum"> 547 </span> :<span class="lineCov"> 3242 : va_start(args, count);</span></a> -<a name="548"><span class="lineNum"> 548 </span> :<span class="lineCov"> 7509 : for (i = 0; i < count; i++)</span></a> -<a name="549"><span class="lineNum"> 549 </span> :<span class="lineCov"> 4267 : val[i] = cpu_to_fdt32(va_arg(args, u32));</span></a> -<a name="550"><span class="lineNum"> 550 </span> :<span class="lineCov"> 3242 : va_end(args);</span></a> -<a name="551"><span class="lineNum"> 551 </span> :<span class="lineCov"> 3242 : return p;</span></a> +<a name="545"><span class="lineNum"> 545 </span> :<span class="lineCov"> 2109 : p = new_property(node, name, count * sizeof(u32));</span></a> +<a name="546"><span class="lineNum"> 546 </span> :<span class="lineCov"> 2109 : val = (fdt32_t *)p->prop;</span></a> +<a name="547"><span class="lineNum"> 547 </span> :<span class="lineCov"> 2109 : va_start(args, count);</span></a> +<a name="548"><span class="lineNum"> 548 </span> :<span class="lineCov"> 4482 : for (i = 0; i < count; i++)</span></a> +<a name="549"><span class="lineNum"> 549 </span> :<span class="lineCov"> 2373 : val[i] = cpu_to_fdt32(va_arg(args, u32));</span></a> +<a name="550"><span class="lineNum"> 550 </span> :<span class="lineCov"> 2109 : va_end(args);</span></a> +<a name="551"><span class="lineNum"> 551 </span> :<span class="lineCov"> 2109 : return p;</span></a> <a name="552"><span class="lineNum"> 552 </span> : : }</a> <a name="553"><span class="lineNum"> 553 </span> : : </a> -<a name="554"><span class="lineNum"> 554 </span> :<span class="lineCov"> 31 : struct dt_property *__dt_add_property_u64s(struct dt_node *node,</span></a> +<a name="554"><span class="lineNum"> 554 </span> :<span class="lineCov"> 18 : struct dt_property *__dt_add_property_u64s(struct dt_node *node,</span></a> <a name="555"><span class="lineNum"> 555 </span> : : const char *name,</a> <a name="556"><span class="lineNum"> 556 </span> : : int count, ...)</a> <a name="557"><span class="lineNum"> 557 </span> : : {</a> @@ -631,16 +631,16 @@ <a name="560"><span class="lineNum"> 560 </span> : : unsigned int i;</a> <a name="561"><span class="lineNum"> 561 </span> : : va_list args;</a> <a name="562"><span class="lineNum"> 562 </span> : : </a> -<a name="563"><span class="lineNum"> 563 </span> :<span class="lineCov"> 31 : p = new_property(node, name, count * sizeof(u64));</span></a> -<a name="564"><span class="lineNum"> 564 </span> :<span class="lineCov"> 31 : val = (fdt64_t *)p->prop;</span></a> -<a name="565"><span class="lineNum"> 565 </span> :<span class="lineCov"> 31 : va_start(args, count);</span></a> -<a name="566"><span class="lineNum"> 566 </span> :<span class="lineCov"> 115 : for (i = 0; i < count; i++)</span></a> -<a name="567"><span class="lineNum"> 567 </span> :<span class="lineCov"> 84 : val[i] = cpu_to_fdt64(va_arg(args, u64));</span></a> -<a name="568"><span class="lineNum"> 568 </span> :<span class="lineCov"> 31 : va_end(args);</span></a> -<a name="569"><span class="lineNum"> 569 </span> :<span class="lineCov"> 31 : return p;</span></a> +<a name="563"><span class="lineNum"> 563 </span> :<span class="lineCov"> 18 : p = new_property(node, name, count * sizeof(u64));</span></a> +<a name="564"><span class="lineNum"> 564 </span> :<span class="lineCov"> 18 : val = (fdt64_t *)p->prop;</span></a> +<a name="565"><span class="lineNum"> 565 </span> :<span class="lineCov"> 18 : va_start(args, count);</span></a> +<a name="566"><span class="lineNum"> 566 </span> :<span class="lineCov"> 62 : for (i = 0; i < count; i++)</span></a> +<a name="567"><span class="lineNum"> 567 </span> :<span class="lineCov"> 44 : val[i] = cpu_to_fdt64(va_arg(args, u64));</span></a> +<a name="568"><span class="lineNum"> 568 </span> :<span class="lineCov"> 18 : va_end(args);</span></a> +<a name="569"><span class="lineNum"> 569 </span> :<span class="lineCov"> 18 : return p;</span></a> <a name="570"><span class="lineNum"> 570 </span> : : }</a> <a name="571"><span class="lineNum"> 571 </span> : : </a> -<a name="572"><span class="lineNum"> 572 </span> :<span class="lineCov"> 82 : struct dt_property *__dt_add_property_strings(struct dt_node *node,</span></a> +<a name="572"><span class="lineNum"> 572 </span> :<span class="lineCov"> 31 : struct dt_property *__dt_add_property_strings(struct dt_node *node,</span></a> <a name="573"><span class="lineNum"> 573 </span> : : const char *name,</a> <a name="574"><span class="lineNum"> 574 </span> : : int count, ...)</a> <a name="575"><span class="lineNum"> 575 </span> : : {</a> @@ -650,28 +650,28 @@ <a name="579"><span class="lineNum"> 579 </span> : : const char *sstr;</a> <a name="580"><span class="lineNum"> 580 </span> : : char *s;</a> <a name="581"><span class="lineNum"> 581 </span> : : </a> -<a name="582"><span class="lineNum"> 582 </span> :<span class="lineCov"> 82 : va_start(args, count);</span></a> -<a name="583"><span class="lineNum"> 583 </span> :<span class="lineCov"> 222 : for (i = size = 0; i < count; i++) {</span></a> -<a name="584"><span class="lineNum"> 584 </span> :<span class="lineCov"> 140 : sstr = va_arg(args, const char *);</span></a> -<a name="585"><span class="lineNum"> 585 </span> :<span class="lineCov"> 140 : if (sstr)</span></a> -<a name="586"><span class="lineNum"> 586 </span> :<span class="lineCov"> 140 : size += strlen(sstr) + 1;</span></a> +<a name="582"><span class="lineNum"> 582 </span> :<span class="lineCov"> 31 : va_start(args, count);</span></a> +<a name="583"><span class="lineNum"> 583 </span> :<span class="lineCov"> 82 : for (i = size = 0; i < count; i++) {</span></a> +<a name="584"><span class="lineNum"> 584 </span> :<span class="lineCov"> 51 : sstr = va_arg(args, const char *);</span></a> +<a name="585"><span class="lineNum"> 585 </span> :<span class="lineCov"> 51 : if (sstr)</span></a> +<a name="586"><span class="lineNum"> 586 </span> :<span class="lineCov"> 51 : size += strlen(sstr) + 1;</span></a> <a name="587"><span class="lineNum"> 587 </span> : : }</a> -<a name="588"><span class="lineNum"> 588 </span> :<span class="lineCov"> 82 : va_end(args);</span></a> -<a name="589"><span class="lineNum"> 589 </span> :<span class="lineCov"> 82 : if (!size)</span></a> +<a name="588"><span class="lineNum"> 588 </span> :<span class="lineCov"> 31 : va_end(args);</span></a> +<a name="589"><span class="lineNum"> 589 </span> :<span class="lineCov"> 31 : if (!size)</span></a> <a name="590"><span class="lineNum"> 590 </span> :<span class="lineNoCov"> 0 : size = 1;</span></a> -<a name="591"><span class="lineNum"> 591 </span> :<span class="lineCov"> 82 : p = new_property(node, name, size);</span></a> -<a name="592"><span class="lineNum"> 592 </span> :<span class="lineCov"> 82 : s = (char *)p->prop;</span></a> -<a name="593"><span class="lineNum"> 593 </span> :<span class="lineCov"> 82 : *s = 0;</span></a> -<a name="594"><span class="lineNum"> 594 </span> :<span class="lineCov"> 82 : va_start(args, count);</span></a> -<a name="595"><span class="lineNum"> 595 </span> :<span class="lineCov"> 222 : for (i = 0; i < count; i++) { </span></a> -<a name="596"><span class="lineNum"> 596 </span> :<span class="lineCov"> 140 : sstr = va_arg(args, const char *);</span></a> -<a name="597"><span class="lineNum"> 597 </span> :<span class="lineCov"> 140 : if (sstr) {</span></a> -<a name="598"><span class="lineNum"> 598 </span> :<span class="lineCov"> 140 : strcpy(s, sstr);</span></a> -<a name="599"><span class="lineNum"> 599 </span> :<span class="lineCov"> 140 : s = s + strlen(sstr) + 1;</span></a> +<a name="591"><span class="lineNum"> 591 </span> :<span class="lineCov"> 31 : p = new_property(node, name, size);</span></a> +<a name="592"><span class="lineNum"> 592 </span> :<span class="lineCov"> 31 : s = (char *)p->prop;</span></a> +<a name="593"><span class="lineNum"> 593 </span> :<span class="lineCov"> 31 : *s = 0;</span></a> +<a name="594"><span class="lineNum"> 594 </span> :<span class="lineCov"> 31 : va_start(args, count);</span></a> +<a name="595"><span class="lineNum"> 595 </span> :<span class="lineCov"> 82 : for (i = 0; i < count; i++) { </span></a> +<a name="596"><span class="lineNum"> 596 </span> :<span class="lineCov"> 51 : sstr = va_arg(args, const char *);</span></a> +<a name="597"><span class="lineNum"> 597 </span> :<span class="lineCov"> 51 : if (sstr) {</span></a> +<a name="598"><span class="lineNum"> 598 </span> :<span class="lineCov"> 51 : strcpy(s, sstr);</span></a> +<a name="599"><span class="lineNum"> 599 </span> :<span class="lineCov"> 51 : s = s + strlen(sstr) + 1;</span></a> <a name="600"><span class="lineNum"> 600 </span> : : }</a> <a name="601"><span class="lineNum"> 601 </span> : : }</a> -<a name="602"><span class="lineNum"> 602 </span> :<span class="lineCov"> 82 : va_end(args);</span></a> -<a name="603"><span class="lineNum"> 603 </span> :<span class="lineCov"> 82 : return p;</span></a> +<a name="602"><span class="lineNum"> 602 </span> :<span class="lineCov"> 31 : va_end(args);</span></a> +<a name="603"><span class="lineNum"> 603 </span> :<span class="lineCov"> 31 : return p;</span></a> <a name="604"><span class="lineNum"> 604 </span> : : }</a> <a name="605"><span class="lineNum"> 605 </span> : : </a> <a name="606"><span class="lineNum"> 606 </span> :<span class="lineCov"> 1 : void dt_del_property(struct dt_node *node, struct dt_property *prop)</span></a> @@ -681,11 +681,11 @@ <a name="610"><span class="lineNum"> 610 </span> :<span class="lineCov"> 1 : free(prop);</span></a> <a name="611"><span class="lineNum"> 611 </span> :<span class="lineCov"> 1 : }</span></a> <a name="612"><span class="lineNum"> 612 </span> : : </a> -<a name="613"><span class="lineNum"> 613 </span> :<span class="lineCov"> 246 : u32 dt_property_get_cell(const struct dt_property *prop, u32 index)</span></a> +<a name="613"><span class="lineNum"> 613 </span> :<span class="lineCov"> 134 : u32 dt_property_get_cell(const struct dt_property *prop, u32 index)</span></a> <a name="614"><span class="lineNum"> 614 </span> : : {</a> -<a name="615"><span class="lineNum"> 615 </span> :<span class="lineCov"> 246 : assert(prop->len >= (index+1)*sizeof(u32));</span></a> +<a name="615"><span class="lineNum"> 615 </span> :<span class="lineCov"> 134 : assert(prop->len >= (index+1)*sizeof(u32));</span></a> <a name="616"><span class="lineNum"> 616 </span> : : /* Always aligned, so this works. */</a> -<a name="617"><span class="lineNum"> 617 </span> :<span class="lineCov"> 246 : return fdt32_to_cpu(((const fdt32_t *)prop->prop)[index]);</span></a> +<a name="617"><span class="lineNum"> 617 </span> :<span class="lineCov"> 134 : return fdt32_to_cpu(((const fdt32_t *)prop->prop)[index]);</span></a> <a name="618"><span class="lineNum"> 618 </span> : : }</a> <a name="619"><span class="lineNum"> 619 </span> : : </a> <a name="620"><span class="lineNum"> 620 </span> :<span class="lineNoCov"> 0 : u64 dt_property_get_u64(const struct dt_property *prop, u32 index)</span></a> @@ -703,59 +703,59 @@ <a name="632"><span class="lineNum"> 632 </span> :<span class="lineCov"> 125 : }</span></a> <a name="633"><span class="lineNum"> 633 </span> : : </a> <a name="634"><span class="lineNum"> 634 </span> : : /* First child of this node. */</a> -<a name="635"><span class="lineNum"> 635 </span> :<span class="lineCov"> 548 : struct dt_node *dt_first(const struct dt_node *root)</span></a> +<a name="635"><span class="lineNum"> 635 </span> :<span class="lineCov"> 324 : struct dt_node *dt_first(const struct dt_node *root)</span></a> <a name="636"><span class="lineNum"> 636 </span> : : {</a> -<a name="637"><span class="lineNum"> 637 </span> :<span class="lineCov"> 548 : return list_top(&root->children, struct dt_node, list);</span></a> +<a name="637"><span class="lineNum"> 637 </span> :<span class="lineCov"> 324 : return list_top(&root->children, struct dt_node, list);</span></a> <a name="638"><span class="lineNum"> 638 </span> : : }</a> <a name="639"><span class="lineNum"> 639 </span> : : </a> <a name="640"><span class="lineNum"> 640 </span> : : /* Return next node, or NULL. */</a> -<a name="641"><span class="lineNum"> 641 </span> :<span class="lineCov"> 6735 : struct dt_node *dt_next(const struct dt_node *root,</span></a> +<a name="641"><span class="lineNum"> 641 </span> :<span class="lineCov"> 4339 : struct dt_node *dt_next(const struct dt_node *root,</span></a> <a name="642"><span class="lineNum"> 642 </span> : : const struct dt_node *prev)</a> <a name="643"><span class="lineNum"> 643 </span> : : {</a> -<a name="644"><span class="lineNum"> 644 </span> :<span class="lineCov"> 6735 : if (!prev) {</span></a> -<a name="645"><span class="lineNum"> 645 </span> :<span class="lineCov"> 26 : struct dt_node *first = dt_first(root);</span></a> +<a name="644"><span class="lineNum"> 644 </span> :<span class="lineCov"> 4339 : if (!prev) {</span></a> +<a name="645"><span class="lineNum"> 645 </span> :<span class="lineCov"> 12 : struct dt_node *first = dt_first(root);</span></a> <a name="646"><span class="lineNum"> 646 </span> : : </a> -<a name="647"><span class="lineNum"> 647 </span> :<span class="lineCov"> 26 : if (!first)</span></a> +<a name="647"><span class="lineNum"> 647 </span> :<span class="lineCov"> 12 : if (!first)</span></a> <a name="648"><span class="lineNum"> 648 </span> :<span class="lineNoCov"> 0 : return NULL;</span></a> <a name="649"><span class="lineNum"> 649 </span> : : else</a> -<a name="650"><span class="lineNum"> 650 </span> :<span class="lineCov"> 26 : return first;</span></a> +<a name="650"><span class="lineNum"> 650 </span> :<span class="lineCov"> 12 : return first;</span></a> <a name="651"><span class="lineNum"> 651 </span> : : }</a> <a name="652"><span class="lineNum"> 652 </span> : : </a> <a name="653"><span class="lineNum"> 653 </span> : : /* Children? */</a> -<a name="654"><span class="lineNum"> 654 </span> :<span class="lineCov"> 6709 : if (!list_empty(&prev->children))</span></a> -<a name="655"><span class="lineNum"> 655 </span> :<span class="lineCov"> 340 : return dt_first(prev);</span></a> +<a name="654"><span class="lineNum"> 654 </span> :<span class="lineCov"> 4327 : if (!list_empty(&prev->children))</span></a> +<a name="655"><span class="lineNum"> 655 </span> :<span class="lineCov"> 133 : return dt_first(prev);</span></a> <a name="656"><span class="lineNum"> 656 </span> : : </a> <a name="657"><span class="lineNum"> 657 </span> : : do {</a> <a name="658"><span class="lineNum"> 658 </span> : : /* More siblings? */</a> -<a name="659"><span class="lineNum"> 659 </span> :<span class="lineCov"> 6705 : if (prev->list.next != &prev->parent->children.n)</span></a> -<a name="660"><span class="lineNum"> 660 </span> :<span class="lineCov"> 6308 : return list_entry(prev->list.next, struct dt_node,list);</span></a> +<a name="659"><span class="lineNum"> 659 </span> :<span class="lineCov"> 4325 : if (prev->list.next != &prev->parent->children.n)</span></a> +<a name="660"><span class="lineNum"> 660 </span> :<span class="lineCov"> 4136 : return list_entry(prev->list.next, struct dt_node,list);</span></a> <a name="661"><span class="lineNum"> 661 </span> : : </a> <a name="662"><span class="lineNum"> 662 </span> : : /* No more siblings, move up to parent. */</a> -<a name="663"><span class="lineNum"> 663 </span> :<span class="lineCov"> 397 : prev = prev->parent;</span></a> -<a name="664"><span class="lineNum"> 664 </span> :<span class="lineCov"> 397 : } while (prev != root);</span></a> +<a name="663"><span class="lineNum"> 663 </span> :<span class="lineCov"> 189 : prev = prev->parent;</span></a> +<a name="664"><span class="lineNum"> 664 </span> :<span class="lineCov"> 189 : } while (prev != root);</span></a> <a name="665"><span class="lineNum"> 665 </span> : : </a> -<a name="666"><span class="lineNum"> 666 </span> :<span class="lineCov"> 61 : return NULL;</span></a> +<a name="666"><span class="lineNum"> 666 </span> :<span class="lineCov"> 58 : return NULL;</span></a> <a name="667"><span class="lineNum"> 667 </span> : : }</a> <a name="668"><span class="lineNum"> 668 </span> : : </a> -<a name="669"><span class="lineNum"> 669 </span> :<span class="lineCov"> 678 : struct dt_property *__dt_find_property(struct dt_node *node, const char *name)</span></a> +<a name="669"><span class="lineNum"> 669 </span> :<span class="lineCov"> 518 : struct dt_property *__dt_find_property(struct dt_node *node, const char *name)</span></a> <a name="670"><span class="lineNum"> 670 </span> : : {</a> <a name="671"><span class="lineNum"> 671 </span> : : struct dt_property *i;</a> <a name="672"><span class="lineNum"> 672 </span> : : </a> -<a name="673"><span class="lineNum"> 673 </span> :<span class="lineCov"> 4953 : list_for_each(&node->properties, i, list)</span></a> -<a name="674"><span class="lineNum"> 674 </span> :<span class="lineCov"> 4391 : if (strcmp(i->name, name) == 0)</span></a> -<a name="675"><span class="lineNum"> 675 </span> :<span class="lineCov"> 116 : return i;</span></a> -<a name="676"><span class="lineNum"> 676 </span> :<span class="lineCov"> 562 : return NULL;</span></a> +<a name="673"><span class="lineNum"> 673 </span> :<span class="lineCov"> 2947 : list_for_each(&node->properties, i, list)</span></a> +<a name="674"><span class="lineNum"> 674 </span> :<span class="lineCov"> 2543 : if (strcmp(i->name, name) == 0)</span></a> +<a name="675"><span class="lineNum"> 675 </span> :<span class="lineCov"> 114 : return i;</span></a> +<a name="676"><span class="lineNum"> 676 </span> :<span class="lineCov"> 404 : return NULL;</span></a> <a name="677"><span class="lineNum"> 677 </span> : : }</a> <a name="678"><span class="lineNum"> 678 </span> : : </a> -<a name="679"><span class="lineNum"> 679 </span> :<span class="lineCov"> 9063 : const struct dt_property *dt_find_property(const struct dt_node *node,</span></a> +<a name="679"><span class="lineNum"> 679 </span> :<span class="lineCov"> 4126 : const struct dt_property *dt_find_property(const struct dt_node *node,</span></a> <a name="680"><span class="lineNum"> 680 </span> : : const char *name)</a> <a name="681"><span class="lineNum"> 681 </span> : : {</a> <a name="682"><span class="lineNum"> 682 </span> : : const struct dt_property *i;</a> <a name="683"><span class="lineNum"> 683 </span> : : </a> -<a name="684"><span class="lineNum"> 684 </span> :<span class="lineCov"> 74964 : list_for_each(&node->properties, i, list)</span></a> -<a name="685"><span class="lineNum"> 685 </span> :<span class="lineCov"> 67015 : if (strcmp(i->name, name) == 0)</span></a> -<a name="686"><span class="lineNum"> 686 </span> :<span class="lineCov"> 1114 : return i;</span></a> -<a name="687"><span class="lineNum"> 687 </span> :<span class="lineCov"> 7949 : return NULL;</span></a> +<a name="684"><span class="lineNum"> 684 </span> :<span class="lineCov"> 22750 : list_for_each(&node->properties, i, list)</span></a> +<a name="685"><span class="lineNum"> 685 </span> :<span class="lineCov"> 19036 : if (strcmp(i->name, name) == 0)</span></a> +<a name="686"><span class="lineNum"> 686 </span> :<span class="lineCov"> 412 : return i;</span></a> +<a name="687"><span class="lineNum"> 687 </span> :<span class="lineCov"> 3714 : return NULL;</span></a> <a name="688"><span class="lineNum"> 688 </span> : : }</a> <a name="689"><span class="lineNum"> 689 </span> : : </a> <a name="690"><span class="lineNum"> 690 </span> :<span class="lineNoCov"> 0 : void dt_check_del_prop(struct dt_node *node, const char *name)</span></a> @@ -766,19 +766,19 @@ <a name="695"><span class="lineNum"> 695 </span> :<span class="lineNoCov"> 0 : if (p)</span></a> <a name="696"><span class="lineNum"> 696 </span> :<span class="lineNoCov"> 0 : dt_del_property(node, p);</span></a> <a name="697"><span class="lineNum"> 697 </span> :<span class="lineNoCov"> 0 : }</span></a> -<a name="698"><span class="lineNum"> 698 </span> :<span class="lineCov"> 57 : const struct dt_property *dt_require_property(const struct dt_node *node,</span></a> +<a name="698"><span class="lineNum"> 698 </span> :<span class="lineCov"> 55 : const struct dt_property *dt_require_property(const struct dt_node *node,</span></a> <a name="699"><span class="lineNum"> 699 </span> : : const char *name, int wanted_len)</a> <a name="700"><span class="lineNum"> 700 </span> : : {</a> -<a name="701"><span class="lineNum"> 701 </span> :<span class="lineCov"> 57 : const struct dt_property *p = dt_find_property(node, name);</span></a> +<a name="701"><span class="lineNum"> 701 </span> :<span class="lineCov"> 55 : const struct dt_property *p = dt_find_property(node, name);</span></a> <a name="702"><span class="lineNum"> 702 </span> : : </a> -<a name="703"><span class="lineNum"> 703 </span> :<span class="lineCov"> 57 : if (!p) {</span></a> +<a name="703"><span class="lineNum"> 703 </span> :<span class="lineCov"> 55 : if (!p) {</span></a> <a name="704"><span class="lineNum"> 704 </span> :<span class="lineNoCov"> 0 : const char *path = dt_get_path(node);</span></a> <a name="705"><span class="lineNum"> 705 </span> : : </a> <a name="706"><span class="lineNum"> 706 </span> :<span class="lineNoCov"> 0 : prerror("DT: Missing required property %s/%s\n",</span></a> <a name="707"><span class="lineNum"> 707 </span> : : path, name);</a> <a name="708"><span class="lineNum"> 708 </span> :<span class="lineNoCov"> 0 : assert(false);</span></a> <a name="709"><span class="lineNum"> 709 </span> : : }</a> -<a name="710"><span class="lineNum"> 710 </span> :<span class="lineCov"> 57 : if (wanted_len >= 0 && p->len != wanted_len) {</span></a> +<a name="710"><span class="lineNum"> 710 </span> :<span class="lineCov"> 55 : if (wanted_len >= 0 && p->len != wanted_len) {</span></a> <a name="711"><span class="lineNum"> 711 </span> :<span class="lineNoCov"> 0 : const char *path = dt_get_path(node);</span></a> <a name="712"><span class="lineNum"> 712 </span> : : </a> <a name="713"><span class="lineNum"> 713 </span> :<span class="lineNoCov"> 0 : prerror("DT: Unexpected property length %s/%s\n",</span></a> @@ -788,55 +788,55 @@ <a name="717"><span class="lineNum"> 717 </span> :<span class="lineNoCov"> 0 : assert(false);</span></a> <a name="718"><span class="lineNum"> 718 </span> : : }</a> <a name="719"><span class="lineNum"> 719 </span> : : </a> -<a name="720"><span class="lineNum"> 720 </span> :<span class="lineCov"> 57 : return p;</span></a> +<a name="720"><span class="lineNum"> 720 </span> :<span class="lineCov"> 55 : return p;</span></a> <a name="721"><span class="lineNum"> 721 </span> : : }</a> <a name="722"><span class="lineNum"> 722 </span> : : </a> -<a name="723"><span class="lineNum"> 723 </span> :<span class="lineCov"> 763 : bool dt_has_node_property(const struct dt_node *node,</span></a> +<a name="723"><span class="lineNum"> 723 </span> :<span class="lineCov"> 289 : bool dt_has_node_property(const struct dt_node *node,</span></a> <a name="724"><span class="lineNum"> 724 </span> : : const char *name, const char *val)</a> <a name="725"><span class="lineNum"> 725 </span> : : {</a> -<a name="726"><span class="lineNum"> 726 </span> :<span class="lineCov"> 763 : const struct dt_property *p = dt_find_property(node, name);</span></a> +<a name="726"><span class="lineNum"> 726 </span> :<span class="lineCov"> 289 : const struct dt_property *p = dt_find_property(node, name);</span></a> <a name="727"><span class="lineNum"> 727 </span> : : </a> -<a name="728"><span class="lineNum"> 728 </span> :<span class="lineCov"> 763 : if (!p)</span></a> -<a name="729"><span class="lineNum"> 729 </span> :<span class="lineCov"> 434 : return false;</span></a> -<a name="730"><span class="lineNum"> 730 </span> :<span class="lineCov"> 329 : if (!val)</span></a> -<a name="731"><span class="lineNum"> 731 </span> :<span class="lineCov"> 2 : return true;</span></a> +<a name="728"><span class="lineNum"> 728 </span> :<span class="lineCov"> 289 : if (!p)</span></a> +<a name="729"><span class="lineNum"> 729 </span> :<span class="lineCov"> 172 : return false;</span></a> +<a name="730"><span class="lineNum"> 730 </span> :<span class="lineCov"> 117 : if (!val)</span></a> +<a name="731"><span class="lineNum"> 731 </span> :<span class="lineNoCov"> 0 : return true;</span></a> <a name="732"><span class="lineNum"> 732 </span> : : </a> -<a name="733"><span class="lineNum"> 733 </span> :<span class="lineCov"> 327 : return p->len == strlen(val) + 1 && memcmp(p->prop, val, p->len) == 0;</span></a> +<a name="733"><span class="lineNum"> 733 </span> :<span class="lineCov"> 117 : return p->len == strlen(val) + 1 && memcmp(p->prop, val, p->len) == 0;</span></a> <a name="734"><span class="lineNum"> 734 </span> : : }</a> <a name="735"><span class="lineNum"> 735 </span> : : </a> -<a name="736"><span class="lineNum"> 736 </span> :<span class="lineCov"> 2131 : bool dt_prop_find_string(const struct dt_property *p, const char *s)</span></a> +<a name="736"><span class="lineNum"> 736 </span> :<span class="lineCov"> 448 : bool dt_prop_find_string(const struct dt_property *p, const char *s)</span></a> <a name="737"><span class="lineNum"> 737 </span> : : {</a> <a name="738"><span class="lineNum"> 738 </span> : : const char *c, *end;</a> <a name="739"><span class="lineNum"> 739 </span> : : </a> -<a name="740"><span class="lineNum"> 740 </span> :<span class="lineCov"> 2131 : if (!p)</span></a> -<a name="741"><span class="lineNum"> 741 </span> :<span class="lineCov"> 1664 : return false;</span></a> -<a name="742"><span class="lineNum"> 742 </span> :<span class="lineCov"> 467 : c = p->prop;</span></a> -<a name="743"><span class="lineNum"> 743 </span> :<span class="lineCov"> 467 : end = c + p->len;</span></a> +<a name="740"><span class="lineNum"> 740 </span> :<span class="lineCov"> 448 : if (!p)</span></a> +<a name="741"><span class="lineNum"> 741 </span> :<span class="lineCov"> 350 : return false;</span></a> +<a name="742"><span class="lineNum"> 742 </span> :<span class="lineCov"> 98 : c = p->prop;</span></a> +<a name="743"><span class="lineNum"> 743 </span> :<span class="lineCov"> 98 : end = c + p->len;</span></a> <a name="744"><span class="lineNum"> 744 </span> : : </a> -<a name="745"><span class="lineNum"> 745 </span> :<span class="lineCov"> 1244 : while(c < end) {</span></a> -<a name="746"><span class="lineNum"> 746 </span> :<span class="lineCov"> 833 : if (!strcasecmp(s, c))</span></a> -<a name="747"><span class="lineNum"> 747 </span> :<span class="lineCov"> 56 : return true;</span></a> -<a name="748"><span class="lineNum"> 748 </span> :<span class="lineCov"> 777 : c += strlen(c) + 1;</span></a> +<a name="745"><span class="lineNum"> 745 </span> :<span class="lineCov"> 234 : while(c < end) {</span></a> +<a name="746"><span class="lineNum"> 746 </span> :<span class="lineCov"> 160 : if (!strcasecmp(s, c))</span></a> +<a name="747"><span class="lineNum"> 747 </span> :<span class="lineCov"> 24 : return true;</span></a> +<a name="748"><span class="lineNum"> 748 </span> :<span class="lineCov"> 136 : c += strlen(c) + 1;</span></a> <a name="749"><span class="lineNum"> 749 </span> : : }</a> -<a name="750"><span class="lineNum"> 750 </span> :<span class="lineCov"> 411 : return false;</span></a> +<a name="750"><span class="lineNum"> 750 </span> :<span class="lineCov"> 74 : return false;</span></a> <a name="751"><span class="lineNum"> 751 </span> : : }</a> <a name="752"><span class="lineNum"> 752 </span> : : </a> -<a name="753"><span class="lineNum"> 753 </span> :<span class="lineCov"> 2127 : bool dt_node_is_compatible(const struct dt_node *node, const char *compat)</span></a> +<a name="753"><span class="lineNum"> 753 </span> :<span class="lineCov"> 444 : bool dt_node_is_compatible(const struct dt_node *node, const char *compat)</span></a> <a name="754"><span class="lineNum"> 754 </span> : : {</a> -<a name="755"><span class="lineNum"> 755 </span> :<span class="lineCov"> 2127 : const struct dt_property *p = dt_find_property(node, "compatible");</span></a> +<a name="755"><span class="lineNum"> 755 </span> :<span class="lineCov"> 444 : const struct dt_property *p = dt_find_property(node, "compatible");</span></a> <a name="756"><span class="lineNum"> 756 </span> : : </a> -<a name="757"><span class="lineNum"> 757 </span> :<span class="lineCov"> 2127 : return dt_prop_find_string(p, compat);</span></a> +<a name="757"><span class="lineNum"> 757 </span> :<span class="lineCov"> 444 : return dt_prop_find_string(p, compat);</span></a> <a name="758"><span class="lineNum"> 758 </span> : : }</a> <a name="759"><span class="lineNum"> 759 </span> : : </a> -<a name="760"><span class="lineNum"> 760 </span> :<span class="lineCov"> 49 : struct dt_node *dt_find_compatible_node(struct dt_node *root,</span></a> +<a name="760"><span class="lineNum"> 760 </span> :<span class="lineCov"> 19 : struct dt_node *dt_find_compatible_node(struct dt_node *root,</span></a> <a name="761"><span class="lineNum"> 761 </span> : : struct dt_node *prev,</a> <a name="762"><span class="lineNum"> 762 </span> : : const char *compat)</a> <a name="763"><span class="lineNum"> 763 </span> : : {</a> -<a name="764"><span class="lineNum"> 764 </span> :<span class="lineCov"> 49 : struct dt_node *node = prev;</span></a> +<a name="764"><span class="lineNum"> 764 </span> :<span class="lineCov"> 19 : struct dt_node *node = prev;</span></a> <a name="765"><span class="lineNum"> 765 </span> : : </a> -<a name="766"><span class="lineNum"> 766 </span> :<span class="lineCov"> 2092 : while ((node = dt_next(root, node)))</span></a> -<a name="767"><span class="lineNum"> 767 </span> :<span class="lineCov"> 2089 : if (dt_node_is_compatible(node, compat))</span></a> -<a name="768"><span class="lineNum"> 768 </span> :<span class="lineCov"> 46 : return node;</span></a> +<a name="766"><span class="lineNum"> 766 </span> :<span class="lineCov"> 431 : while ((node = dt_next(root, node)))</span></a> +<a name="767"><span class="lineNum"> 767 </span> :<span class="lineCov"> 428 : if (dt_node_is_compatible(node, compat))</span></a> +<a name="768"><span class="lineNum"> 768 </span> :<span class="lineCov"> 16 : return node;</span></a> <a name="769"><span class="lineNum"> 769 </span> :<span class="lineCov"> 3 : return NULL;</span></a> <a name="770"><span class="lineNum"> 770 </span> : : }</a> <a name="771"><span class="lineNum"> 771 </span> : : </a> @@ -848,15 +848,15 @@ <a name="777"><span class="lineNum"> 777 </span> :<span class="lineCov"> 1 : | dt_property_get_cell(p, 1);</span></a> <a name="778"><span class="lineNum"> 778 </span> : : }</a> <a name="779"><span class="lineNum"> 779 </span> : : </a> -<a name="780"><span class="lineNum"> 780 </span> :<span class="lineCov"> 8 : u64 dt_prop_get_u64_def(const struct dt_node *node, const char *prop, u64 def)</span></a> +<a name="780"><span class="lineNum"> 780 </span> :<span class="lineCov"> 4 : u64 dt_prop_get_u64_def(const struct dt_node *node, const char *prop, u64 def)</span></a> <a name="781"><span class="lineNum"> 781 </span> : : {</a> -<a name="782"><span class="lineNum"> 782 </span> :<span class="lineCov"> 8 : const struct dt_property *p = dt_find_property(node, prop);</span></a> +<a name="782"><span class="lineNum"> 782 </span> :<span class="lineCov"> 4 : const struct dt_property *p = dt_find_property(node, prop);</span></a> <a name="783"><span class="lineNum"> 783 </span> : : </a> -<a name="784"><span class="lineNum"> 784 </span> :<span class="lineCov"> 8 : if (!p)</span></a> +<a name="784"><span class="lineNum"> 784 </span> :<span class="lineCov"> 4 : if (!p)</span></a> <a name="785"><span class="lineNum"> 785 </span> :<span class="lineCov"> 1 : return def;</span></a> <a name="786"><span class="lineNum"> 786 </span> : : </a> -<a name="787"><span class="lineNum"> 787 </span> :<span class="lineCov"> 7 : return ((u64)dt_property_get_cell(p, 0) << 32)</span></a> -<a name="788"><span class="lineNum"> 788 </span> :<span class="lineCov"> 7 : | dt_property_get_cell(p, 1);</span></a> +<a name="787"><span class="lineNum"> 787 </span> :<span class="lineCov"> 3 : return ((u64)dt_property_get_cell(p, 0) << 32)</span></a> +<a name="788"><span class="lineNum"> 788 </span> :<span class="lineCov"> 3 : | dt_property_get_cell(p, 1);</span></a> <a name="789"><span class="lineNum"> 789 </span> : : }</a> <a name="790"><span class="lineNum"> 790 </span> : : </a> <a name="791"><span class="lineNum"> 791 </span> :<span class="lineCov"> 5 : u32 dt_prop_get_u32(const struct dt_node *node, const char *prop)</span></a> @@ -866,14 +866,14 @@ <a name="795"><span class="lineNum"> 795 </span> :<span class="lineCov"> 5 : return dt_property_get_cell(p, 0);</span></a> <a name="796"><span class="lineNum"> 796 </span> : : }</a> <a name="797"><span class="lineNum"> 797 </span> : : </a> -<a name="798"><span class="lineNum"> 798 </span> :<span class="lineCov"> 90 : u32 dt_prop_get_u32_def(const struct dt_node *node, const char *prop, u32 def)</span></a> +<a name="798"><span class="lineNum"> 798 </span> :<span class="lineCov"> 86 : u32 dt_prop_get_u32_def(const struct dt_node *node, const char *prop, u32 def)</span></a> <a name="799"><span class="lineNum"> 799 </span> : : {</a> -<a name="800"><span class="lineNum"> 800 </span> :<span class="lineCov"> 90 : const struct dt_property *p = dt_find_property(node, prop);</span></a> +<a name="800"><span class="lineNum"> 800 </span> :<span class="lineCov"> 86 : const struct dt_property *p = dt_find_property(node, prop);</span></a> <a name="801"><span class="lineNum"> 801 </span> : : </a> -<a name="802"><span class="lineNum"> 802 </span> :<span class="lineCov"> 90 : if (!p)</span></a> +<a name="802"><span class="lineNum"> 802 </span> :<span class="lineCov"> 86 : if (!p)</span></a> <a name="803"><span class="lineNum"> 803 </span> :<span class="lineCov"> 5 : return def;</span></a> <a name="804"><span class="lineNum"> 804 </span> : : </a> -<a name="805"><span class="lineNum"> 805 </span> :<span class="lineCov"> 85 : return dt_property_get_cell(p, 0);</span></a> +<a name="805"><span class="lineNum"> 805 </span> :<span class="lineCov"> 81 : return dt_property_get_cell(p, 0);</span></a> <a name="806"><span class="lineNum"> 806 </span> : : }</a> <a name="807"><span class="lineNum"> 807 </span> : : </a> <a name="808"><span class="lineNum"> 808 </span> :<span class="lineCov"> 5 : const void *dt_prop_get(const struct dt_node *node, const char *prop)</span></a> @@ -920,25 +920,25 @@ <a name="849"><span class="lineNum"> 849 </span> :<span class="lineCov"> 1 : return dt_property_get_cell(p, cell);</span></a> <a name="850"><span class="lineNum"> 850 </span> : : }</a> <a name="851"><span class="lineNum"> 851 </span> : : </a> -<a name="852"><span class="lineNum"> 852 </span> :<span class="lineCov"> 859 : void dt_free(struct dt_node *node)</span></a> +<a name="852"><span class="lineNum"> 852 </span> :<span class="lineCov"> 702 : void dt_free(struct dt_node *node)</span></a> <a name="853"><span class="lineNum"> 853 </span> : : {</a> <a name="854"><span class="lineNum"> 854 </span> : : struct dt_node *child;</a> <a name="855"><span class="lineNum"> 855 </span> : : struct dt_property *p;</a> <a name="856"><span class="lineNum"> 856 </span> : : </a> -<a name="857"><span class="lineNum"> 857 </span> :<span class="lineCov"> 1690 : while ((child = list_top(&node->children, struct dt_node, list)))</span></a> -<a name="858"><span class="lineNum"> 858 </span> :<span class="lineCov"> 831 : dt_free(child);</span></a> +<a name="857"><span class="lineNum"> 857 </span> :<span class="lineCov"> 1378 : while ((child = list_top(&node->children, struct dt_node, list)))</span></a> +<a name="858"><span class="lineNum"> 858 </span> :<span class="lineCov"> 676 : dt_free(child);</span></a> <a name="859"><span class="lineNum"> 859 </span> : : </a> -<a name="860"><span class="lineNum"> 860 </span> :<span class="lineCov"> 5325 : while ((p = list_pop(&node->properties, struct dt_property, list))) {</span></a> -<a name="861"><span class="lineNum"> 861 </span> :<span class="lineCov"> 4466 : free_name(p->name);</span></a> -<a name="862"><span class="lineNum"> 862 </span> :<span class="lineCov"> 4466 : free(p);</span></a> +<a name="860"><span class="lineNum"> 860 </span> :<span class="lineCov"> 3349 : while ((p = list_pop(&node->properties, struct dt_property, list))) {</span></a> +<a name="861"><span class="lineNum"> 861 </span> :<span class="lineCov"> 2647 : free_name(p->name);</span></a> +<a name="862"><span class="lineNum"> 862 </span> :<span class="lineCov"> 2647 : free(p);</span></a> <a name="863"><span class="lineNum"> 863 </span> : : }</a> <a name="864"><span class="lineNum"> 864 </span> : : </a> -<a name="865"><span class="lineNum"> 865 </span> :<span class="lineCov"> 859 : if (node->parent)</span></a> -<a name="866"><span class="lineNum"> 866 </span> :<span class="lineCov"> 832 : list_del_from(&node->parent->children, &node->list);</span></a> -<a name="867"><span class="lineNum"> 867 </span> :<span class="lineCov"> 859 : dt_destroy(node);</span></a> -<a name="868"><span class="lineNum"> 868 </span> :<span class="lineCov"> 859 : }</span></a> +<a name="865"><span class="lineNum"> 865 </span> :<span class="lineCov"> 702 : if (node->parent)</span></a> +<a name="866"><span class="lineNum"> 866 </span> :<span class="lineCov"> 677 : list_del_from(&node->parent->children, &node->list);</span></a> +<a name="867"><span class="lineNum"> 867 </span> :<span class="lineCov"> 702 : dt_destroy(node);</span></a> +<a name="868"><span class="lineNum"> 868 </span> :<span class="lineCov"> 702 : }</span></a> <a name="869"><span class="lineNum"> 869 </span> : : </a> -<a name="870"><span class="lineNum"> 870 </span> :<span class="lineCov"> 9 : int dt_expand_node(struct dt_node *node, const void *fdt, int fdt_node)</span></a> +<a name="870"><span class="lineNum"> 870 </span> :<span class="lineCov"> 8 : int dt_expand_node(struct dt_node *node, const void *fdt, int fdt_node)</span></a> <a name="871"><span class="lineNum"> 871 </span> : : {</a> <a name="872"><span class="lineNum"> 872 </span> : : const struct fdt_property *prop;</a> <a name="873"><span class="lineNum"> 873 </span> : : int offset, nextoffset, err;</a> @@ -946,24 +946,24 @@ <a name="875"><span class="lineNum"> 875 </span> : : const char *name;</a> <a name="876"><span class="lineNum"> 876 </span> : : uint32_t tag;</a> <a name="877"><span class="lineNum"> 877 </span> : : </a> -<a name="878"><span class="lineNum"> 878 </span> :<span class="lineCov"> 9 : if (((err = fdt_check_header(fdt)) != 0)</span></a> -<a name="879"><span class="lineNum"> 879 </span> :<span class="lineCov"> 9 : || ((err = fdt_check_node_offset_(fdt, fdt_node)) < 0)) {</span></a> +<a name="878"><span class="lineNum"> 878 </span> :<span class="lineCov"> 8 : if (((err = fdt_check_header(fdt)) != 0)</span></a> +<a name="879"><span class="lineNum"> 879 </span> :<span class="lineCov"> 8 : || ((err = fdt_check_node_offset_(fdt, fdt_node)) < 0)) {</span></a> <a name="880"><span class="lineNum"> 880 </span> :<span class="lineNoCov"> 0 : prerror("FDT: Error %d parsing node 0x%x\n", err, fdt_node);</span></a> <a name="881"><span class="lineNum"> 881 </span> :<span class="lineNoCov"> 0 : return -1;</span></a> <a name="882"><span class="lineNum"> 882 </span> : : }</a> <a name="883"><span class="lineNum"> 883 </span> : : </a> -<a name="884"><span class="lineNum"> 884 </span> :<span class="lineCov"> 9 : nextoffset = err;</span></a> +<a name="884"><span class="lineNum"> 884 </span> :<span class="lineCov"> 8 : nextoffset = err;</span></a> <a name="885"><span class="lineNum"> 885 </span> : : do {</a> -<a name="886"><span class="lineNum"> 886 </span> :<span class="lineCov"> 54 : offset = nextoffset;</span></a> +<a name="886"><span class="lineNum"> 886 </span> :<span class="lineCov"> 47 : offset = nextoffset;</span></a> <a name="887"><span class="lineNum"> 887 </span> : : </a> -<a name="888"><span class="lineNum"> 888 </span> :<span class="lineCov"> 54 : tag = fdt_next_tag(fdt, offset, &nextoffset);</span></a> -<a name="889"><span class="lineNum"> 889 </span> :<span class="lineCov"> 54 : switch (tag) {</span></a> -<a name="890"><span class="lineNum"> 890 </span> :<span class="lineCov"> 38 : case FDT_PROP:</span></a> -<a name="891"><span class="lineNum"> 891 </span> :<span class="lineCov"> 38 : prop = fdt_offset_ptr_(fdt, offset);</span></a> -<a name="892"><span class="lineNum"> 892 </span> :<span class="lineCov"> 38 : name = fdt_string(fdt, fdt32_to_cpu(prop->nameoff));</span></a> -<a name="893"><span class="lineNum"> 893 </span> :<span class="lineCov"> 38 : dt_add_property(node, name, prop->data,</span></a> -<a name="894"><span class="lineNum"> 894 </span> :<span class="lineCov"> 38 : fdt32_to_cpu(prop->len));</span></a> -<a name="895"><span class="lineNum"> 895 </span> :<span class="lineCov"> 38 : break;</span></a> +<a name="888"><span class="lineNum"> 888 </span> :<span class="lineCov"> 47 : tag = fdt_next_tag(fdt, offset, &nextoffset);</span></a> +<a name="889"><span class="lineNum"> 889 </span> :<span class="lineCov"> 47 : switch (tag) {</span></a> +<a name="890"><span class="lineNum"> 890 </span> :<span class="lineCov"> 32 : case FDT_PROP:</span></a> +<a name="891"><span class="lineNum"> 891 </span> :<span class="lineCov"> 32 : prop = fdt_offset_ptr_(fdt, offset);</span></a> +<a name="892"><span class="lineNum"> 892 </span> :<span class="lineCov"> 32 : name = fdt_string(fdt, fdt32_to_cpu(prop->nameoff));</span></a> +<a name="893"><span class="lineNum"> 893 </span> :<span class="lineCov"> 32 : dt_add_property(node, name, prop->data,</span></a> +<a name="894"><span class="lineNum"> 894 </span> :<span class="lineCov"> 32 : fdt32_to_cpu(prop->len));</span></a> +<a name="895"><span class="lineNum"> 895 </span> :<span class="lineCov"> 32 : break;</span></a> <a name="896"><span class="lineNum"> 896 </span> :<span class="lineCov"> 7 : case FDT_BEGIN_NODE:</span></a> <a name="897"><span class="lineNum"> 897 </span> :<span class="lineCov"> 7 : name = fdt_get_name(fdt, offset, NULL);</span></a> <a name="898"><span class="lineNum"> 898 </span> :<span class="lineCov"> 7 : child = dt_new_root(name);</span></a> @@ -998,9 +998,9 @@ <a name="927"><span class="lineNum"> 927 </span> :<span class="lineNoCov"> 0 : case FDT_END:</span></a> <a name="928"><span class="lineNum"> 928 </span> :<span class="lineNoCov"> 0 : return -1;</span></a> <a name="929"><span class="lineNum"> 929 </span> : : }</a> -<a name="930"><span class="lineNum"> 930 </span> :<span class="lineCov"> 54 : } while (tag != FDT_END_NODE);</span></a> +<a name="930"><span class="lineNum"> 930 </span> :<span class="lineCov"> 47 : } while (tag != FDT_END_NODE);</span></a> <a name="931"><span class="lineNum"> 931 </span> : : </a> -<a name="932"><span class="lineNum"> 932 </span> :<span class="lineCov"> 9 : return nextoffset;</span></a> +<a name="932"><span class="lineNum"> 932 </span> :<span class="lineCov"> 8 : return nextoffset;</span></a> <a name="933"><span class="lineNum"> 933 </span> : : }</a> <a name="934"><span class="lineNum"> 934 </span> : : </a> <a name="935"><span class="lineNum"> 935 </span> :<span class="lineNoCov"> 0 : void dt_expand(const void *fdt)</span></a> @@ -1011,78 +1011,78 @@ <a name="940"><span class="lineNum"> 940 </span> :<span class="lineNoCov"> 0 : abort();</span></a> <a name="941"><span class="lineNum"> 941 </span> :<span class="lineNoCov"> 0 : }</span></a> <a name="942"><span class="lineNum"> 942 </span> : : </a> -<a name="943"><span class="lineNum"> 943 </span> :<span class="lineCov"> 107 : u64 dt_get_number(const void *pdata, unsigned int cells)</span></a> +<a name="943"><span class="lineNum"> 943 </span> :<span class="lineCov"> 97 : u64 dt_get_number(const void *pdata, unsigned int cells)</span></a> <a name="944"><span class="lineNum"> 944 </span> : : {</a> -<a name="945"><span class="lineNum"> 945 </span> :<span class="lineCov"> 107 : const __be32 *p = pdata;</span></a> -<a name="946"><span class="lineNum"> 946 </span> :<span class="lineCov"> 107 : u64 ret = 0;</span></a> +<a name="945"><span class="lineNum"> 945 </span> :<span class="lineCov"> 97 : const __be32 *p = pdata;</span></a> +<a name="946"><span class="lineNum"> 946 </span> :<span class="lineCov"> 97 : u64 ret = 0;</span></a> <a name="947"><span class="lineNum"> 947 </span> : : </a> -<a name="948"><span class="lineNum"> 948 </span> :<span class="lineCov"> 303 : while(cells--)</span></a> -<a name="949"><span class="lineNum"> 949 </span> :<span class="lineCov"> 196 : ret = (ret << 32) | be32_to_cpu(*(p++));</span></a> -<a name="950"><span class="lineNum"> 950 </span> :<span class="lineCov"> 107 : return ret;</span></a> +<a name="948"><span class="lineNum"> 948 </span> :<span class="lineCov"> 273 : while(cells--)</span></a> +<a name="949"><span class="lineNum"> 949 </span> :<span class="lineCov"> 176 : ret = (ret << 32) | be32_to_cpu(*(p++));</span></a> +<a name="950"><span class="lineNum"> 950 </span> :<span class="lineCov"> 97 : return ret;</span></a> <a name="951"><span class="lineNum"> 951 </span> : : }</a> <a name="952"><span class="lineNum"> 952 </span> : : </a> -<a name="953"><span class="lineNum"> 953 </span> :<span class="lineCov"> 41 : u32 dt_n_address_cells(const struct dt_node *node)</span></a> +<a name="953"><span class="lineNum"> 953 </span> :<span class="lineCov"> 39 : u32 dt_n_address_cells(const struct dt_node *node)</span></a> <a name="954"><span class="lineNum"> 954 </span> : : {</a> -<a name="955"><span class="lineNum"> 955 </span> :<span class="lineCov"> 41 : if (!node->parent)</span></a> +<a name="955"><span class="lineNum"> 955 </span> :<span class="lineCov"> 39 : if (!node->parent)</span></a> <a name="956"><span class="lineNum"> 956 </span> :<span class="lineNoCov"> 0 : return 0;</span></a> -<a name="957"><span class="lineNum"> 957 </span> :<span class="lineCov"> 41 : return dt_prop_get_u32_def(node->parent, "#address-cells", 2);</span></a> +<a name="957"><span class="lineNum"> 957 </span> :<span class="lineCov"> 39 : return dt_prop_get_u32_def(node->parent, "#address-cells", 2);</span></a> <a name="958"><span class="lineNum"> 958 </span> : : }</a> <a name="959"><span class="lineNum"> 959 </span> : : </a> -<a name="960"><span class="lineNum"> 960 </span> :<span class="lineCov"> 35 : u32 dt_n_size_cells(const struct dt_node *node)</span></a> +<a name="960"><span class="lineNum"> 960 </span> :<span class="lineCov"> 33 : u32 dt_n_size_cells(const struct dt_node *node)</span></a> <a name="961"><span class="lineNum"> 961 </span> : : {</a> -<a name="962"><span class="lineNum"> 962 </span> :<span class="lineCov"> 35 : if (!node->parent)</span></a> +<a name="962"><span class="lineNum"> 962 </span> :<span class="lineCov"> 33 : if (!node->parent)</span></a> <a name="963"><span class="lineNum"> 963 </span> :<span class="lineNoCov"> 0 : return 0;</span></a> -<a name="964"><span class="lineNum"> 964 </span> :<span class="lineCov"> 35 : return dt_prop_get_u32_def(node->parent, "#size-cells", 1);</span></a> +<a name="964"><span class="lineNum"> 964 </span> :<span class="lineCov"> 33 : return dt_prop_get_u32_def(node->parent, "#size-cells", 1);</span></a> <a name="965"><span class="lineNum"> 965 </span> : : }</a> <a name="966"><span class="lineNum"> 966 </span> : : </a> -<a name="967"><span class="lineNum"> 967 </span> :<span class="lineCov"> 35 : u64 dt_get_address(const struct dt_node *node, unsigned int index,</span></a> +<a name="967"><span class="lineNum"> 967 </span> :<span class="lineCov"> 33 : u64 dt_get_address(const struct dt_node *node, unsigned int index,</span></a> <a name="968"><span class="lineNum"> 968 </span> : : u64 *out_size)</a> <a name="969"><span class="lineNum"> 969 </span> : : {</a> <a name="970"><span class="lineNum"> 970 </span> : : const struct dt_property *p;</a> -<a name="971"><span class="lineNum"> 971 </span> :<span class="lineCov"> 35 : u32 na = dt_n_address_cells(node);</span></a> -<a name="972"><span class="lineNum"> 972 </span> :<span class="lineCov"> 35 : u32 ns = dt_n_size_cells(node);</span></a> +<a name="971"><span class="lineNum"> 971 </span> :<span class="lineCov"> 33 : u32 na = dt_n_address_cells(node);</span></a> +<a name="972"><span class="lineNum"> 972 </span> :<span class="lineCov"> 33 : u32 ns = dt_n_size_cells(node);</span></a> <a name="973"><span class="lineNum"> 973 </span> : : u32 pos, n;</a> <a name="974"><span class="lineNum"> 974 </span> : : </a> -<a name="975"><span class="lineNum"> 975 </span> :<span class="lineCov"> 35 : p = dt_require_property(node, "reg", -1);</span></a> -<a name="976"><span class="lineNum"> 976 </span> :<span class="lineCov"> 35 : n = (na + ns) * sizeof(u32);</span></a> -<a name="977"><span class="lineNum"> 977 </span> :<span class="lineCov"> 35 : pos = n * index;</span></a> -<a name="978"><span class="lineNum"> 978 </span> :<span class="lineCov"> 35 : assert((pos + n) <= p->len);</span></a> -<a name="979"><span class="lineNum"> 979 </span> :<span class="lineCov"> 35 : if (out_size)</span></a> -<a name="980"><span class="lineNum"> 980 </span> :<span class="lineCov"> 31 : *out_size = dt_get_number(p->prop + pos + na * sizeof(u32), ns);</span></a> -<a name="981"><span class="lineNum"> 981 </span> :<span class="lineCov"> 35 : return dt_get_number(p->prop + pos, na);</span></a> +<a name="975"><span class="lineNum"> 975 </span> :<span class="lineCov"> 33 : p = dt_require_property(node, "reg", -1);</span></a> +<a name="976"><span class="lineNum"> 976 </span> :<span class="lineCov"> 33 : n = (na + ns) * sizeof(u32);</span></a> +<a name="977"><span class="lineNum"> 977 </span> :<span class="lineCov"> 33 : pos = n * index;</span></a> +<a name="978"><span class="lineNum"> 978 </span> :<span class="lineCov"> 33 : assert((pos + n) <= p->len);</span></a> +<a name="979"><span class="lineNum"> 979 </span> :<span class="lineCov"> 33 : if (out_size)</span></a> +<a name="980"><span class="lineNum"> 980 </span> :<span class="lineCov"> 29 : *out_size = dt_get_number(p->prop + pos + na * sizeof(u32), ns);</span></a> +<a name="981"><span class="lineNum"> 981 </span> :<span class="lineCov"> 33 : return dt_get_number(p->prop + pos, na);</span></a> <a name="982"><span class="lineNum"> 982 </span> : : }</a> <a name="983"><span class="lineNum"> 983 </span> : : </a> -<a name="984"><span class="lineNum"> 984 </span> :<span class="lineCov"> 389 : u32 __dt_get_chip_id(const struct dt_node *node)</span></a> +<a name="984"><span class="lineNum"> 984 </span> :<span class="lineCov"> 89 : u32 __dt_get_chip_id(const struct dt_node *node)</span></a> <a name="985"><span class="lineNum"> 985 </span> : : {</a> <a name="986"><span class="lineNum"> 986 </span> : : const struct dt_property *prop;</a> <a name="987"><span class="lineNum"> 987 </span> : : </a> -<a name="988"><span class="lineNum"> 988 </span> :<span class="lineCov"> 1307 : for (; node; node = node->parent) {</span></a> -<a name="989"><span class="lineNum"> 989 </span> :<span class="lineCov"> 1050 : prop = dt_find_property(node, "ibm,chip-id");</span></a> -<a name="990"><span class="lineNum"> 990 </span> :<span class="lineCov"> 1050 : if (prop)</span></a> -<a name="991"><span class="lineNum"> 991 </span> :<span class="lineCov"> 132 : return dt_property_get_cell(prop, 0);</span></a> +<a name="988"><span class="lineNum"> 988 </span> :<span class="lineCov"> 313 : for (; node; node = node->parent) {</span></a> +<a name="989"><span class="lineNum"> 989 </span> :<span class="lineCov"> 258 : prop = dt_find_property(node, "ibm,chip-id");</span></a> +<a name="990"><span class="lineNum"> 990 </span> :<span class="lineCov"> 258 : if (prop)</span></a> +<a name="991"><span class="lineNum"> 991 </span> :<span class="lineCov"> 34 : return dt_property_get_cell(prop, 0);</span></a> <a name="992"><span class="lineNum"> 992 </span> : : }</a> -<a name="993"><span class="lineNum"> 993 </span> :<span class="lineCov"> 257 : return 0xffffffff;</span></a> +<a name="993"><span class="lineNum"> 993 </span> :<span class="lineCov"> 55 : return 0xffffffff;</span></a> <a name="994"><span class="lineNum"> 994 </span> : : }</a> <a name="995"><span class="lineNum"> 995 </span> : : </a> -<a name="996"><span class="lineNum"> 996 </span> :<span class="lineCov"> 41 : u32 dt_get_chip_id(const struct dt_node *node)</span></a> +<a name="996"><span class="lineNum"> 996 </span> :<span class="lineCov"> 11 : u32 dt_get_chip_id(const struct dt_node *node)</span></a> <a name="997"><span class="lineNum"> 997 </span> : : {</a> -<a name="998"><span class="lineNum"> 998 </span> :<span class="lineCov"> 41 : u32 id = __dt_get_chip_id(node);</span></a> -<a name="999"><span class="lineNum"> 999 </span> :<span class="lineCov"> 41 : assert(id != 0xffffffff);</span></a> -<a name="1000"><span class="lineNum"> 1000 </span> :<span class="lineCov"> 41 : return id;</span></a> +<a name="998"><span class="lineNum"> 998 </span> :<span class="lineCov"> 11 : u32 id = __dt_get_chip_id(node);</span></a> +<a name="999"><span class="lineNum"> 999 </span> :<span class="lineCov"> 11 : assert(id != 0xffffffff);</span></a> +<a name="1000"><span class="lineNum"> 1000 </span> :<span class="lineCov"> 11 : return id;</span></a> <a name="1001"><span class="lineNum"> 1001 </span> : : }</a> <a name="1002"><span class="lineNum"> 1002 </span> : : </a> -<a name="1003"><span class="lineNum"> 1003 </span> :<span class="lineCov"> 8 : struct dt_node *dt_find_compatible_node_on_chip(struct dt_node *root,</span></a> +<a name="1003"><span class="lineNum"> 1003 </span> :<span class="lineCov"> 6 : struct dt_node *dt_find_compatible_node_on_chip(struct dt_node *root,</span></a> <a name="1004"><span class="lineNum"> 1004 </span> : : struct dt_node *prev,</a> <a name="1005"><span class="lineNum"> 1005 </span> : : const char *compat,</a> <a name="1006"><span class="lineNum"> 1006 </span> : : uint32_t chip_id)</a> <a name="1007"><span class="lineNum"> 1007 </span> : : {</a> -<a name="1008"><span class="lineNum"> 1008 </span> :<span class="lineCov"> 8 : struct dt_node *node = prev;</span></a> +<a name="1008"><span class="lineNum"> 1008 </span> :<span class="lineCov"> 6 : struct dt_node *node = prev;</span></a> <a name="1009"><span class="lineNum"> 1009 </span> : : </a> -<a name="1010"><span class="lineNum"> 1010 </span> :<span class="lineCov"> 350 : while ((node = dt_next(root, node))) {</span></a> -<a name="1011"><span class="lineNum"> 1011 </span> :<span class="lineCov"> 348 : u32 cid = __dt_get_chip_id(node);</span></a> -<a name="1012"><span class="lineNum"> 1012 </span> :<span class="lineCov"> 384 : if (cid == chip_id &&</span></a> -<a name="1013"><span class="lineNum"> 1013 </span> :<span class="lineCov"> 36 : dt_node_is_compatible(node, compat))</span></a> -<a name="1014"><span class="lineNum"> 1014 </span> :<span class="lineCov"> 6 : return node;</span></a> +<a name="1010"><span class="lineNum"> 1010 </span> :<span class="lineCov"> 80 : while ((node = dt_next(root, node))) {</span></a> +<a name="1011"><span class="lineNum"> 1011 </span> :<span class="lineCov"> 78 : u32 cid = __dt_get_chip_id(node);</span></a> +<a name="1012"><span class="lineNum"> 1012 </span> :<span class="lineCov"> 92 : if (cid == chip_id &&</span></a> +<a name="1013"><span class="lineNum"> 1013 </span> :<span class="lineCov"> 14 : dt_node_is_compatible(node, compat))</span></a> +<a name="1014"><span class="lineNum"> 1014 </span> :<span class="lineCov"> 4 : return node;</span></a> <a name="1015"><span class="lineNum"> 1015 </span> : : }</a> <a name="1016"><span class="lineNum"> 1016 </span> :<span class="lineCov"> 2 : return NULL;</span></a> <a name="1017"><span class="lineNum"> 1017 </span> : : }</a> diff --git a/coverage-report/core/fdt.c.func-sort-c.html b/coverage-report/core/fdt.c.func-sort-c.html index 02992bf..a32d78b 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">10</td> @@ -74,43 +74,43 @@ </tr> <tr> <td class="coverFn"><a href="fdt.c.gcov.html#156">__create_dtb</a></td> - <td class="coverFnHi">2</td> + <td class="coverFnHi">1</td> </tr> <tr> <td class="coverFn"><a href="fdt.c.gcov.html#187">create_dtb</a></td> - <td class="coverFnHi">2</td> + <td class="coverFnHi">1</td> </tr> <tr> <td class="coverFn"><a href="fdt.c.gcov.html#134">create_dtb_reservemap</a></td> - <td class="coverFnHi">2</td> + <td class="coverFnHi">1</td> </tr> <tr> <td class="coverFn"><a href="fdt.c.gcov.html#44">dt_begin_node</a></td> - <td class="coverFnHi">236</td> + <td class="coverFnHi">80</td> </tr> <tr> <td class="coverFn"><a href="fdt.c.gcov.html#56">dt_end_node</a></td> - <td class="coverFnHi">236</td> + <td class="coverFnHi">80</td> </tr> <tr> <td class="coverFn"><a href="fdt.c.gcov.html#39">dt_property_cell</a></td> - <td class="coverFnHi">236</td> + <td class="coverFnHi">80</td> </tr> <tr> <td class="coverFn"><a href="fdt.c.gcov.html#116">flatten_dt_node</a></td> - <td class="coverFnHi">236</td> + <td class="coverFnHi">80</td> </tr> <tr> <td class="coverFn"><a href="fdt.c.gcov.html#103">flatten_dt_properties</a></td> - <td class="coverFnHi">236</td> + <td class="coverFnHi">80</td> </tr> <tr> <td class="coverFn"><a href="fdt.c.gcov.html#51">dt_property</a></td> - <td class="coverFnHi">2575</td> + <td class="coverFnHi">766</td> </tr> <tr> <td class="coverFn"><a href="fdt.c.gcov.html#28">__save_err</a></td> - <td class="coverFnHi">3295</td> + <td class="coverFnHi">1012</td> </tr> </table> <br> diff --git a/coverage-report/core/fdt.c.func.html b/coverage-report/core/fdt.c.func.html index 70aed22..f31ac59 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">10</td> @@ -70,43 +70,43 @@ </tr> <tr> <td class="coverFn"><a href="fdt.c.gcov.html#156">__create_dtb</a></td> - <td class="coverFnHi">2</td> + <td class="coverFnHi">1</td> </tr> <tr> <td class="coverFn"><a href="fdt.c.gcov.html#28">__save_err</a></td> - <td class="coverFnHi">3295</td> + <td class="coverFnHi">1012</td> </tr> <tr> <td class="coverFn"><a href="fdt.c.gcov.html#187">create_dtb</a></td> - <td class="coverFnHi">2</td> + <td class="coverFnHi">1</td> </tr> <tr> <td class="coverFn"><a href="fdt.c.gcov.html#134">create_dtb_reservemap</a></td> - <td class="coverFnHi">2</td> + <td class="coverFnHi">1</td> </tr> <tr> <td class="coverFn"><a href="fdt.c.gcov.html#44">dt_begin_node</a></td> - <td class="coverFnHi">236</td> + <td class="coverFnHi">80</td> </tr> <tr> <td class="coverFn"><a href="fdt.c.gcov.html#56">dt_end_node</a></td> - <td class="coverFnHi">236</td> + <td class="coverFnHi">80</td> </tr> <tr> <td class="coverFn"><a href="fdt.c.gcov.html#51">dt_property</a></td> - <td class="coverFnHi">2575</td> + <td class="coverFnHi">766</td> </tr> <tr> <td class="coverFn"><a href="fdt.c.gcov.html#39">dt_property_cell</a></td> - <td class="coverFnHi">236</td> + <td class="coverFnHi">80</td> </tr> <tr> <td class="coverFn"><a href="fdt.c.gcov.html#116">flatten_dt_node</a></td> - <td class="coverFnHi">236</td> + <td class="coverFnHi">80</td> </tr> <tr> <td class="coverFn"><a href="fdt.c.gcov.html#103">flatten_dt_properties</a></td> - <td class="coverFnHi">236</td> + <td class="coverFnHi">80</td> </tr> <tr> <td class="coverFn"><a href="fdt.c.gcov.html#215">opal_get_device_tree</a></td> diff --git a/coverage-report/core/fdt.c.gcov.html b/coverage-report/core/fdt.c.gcov.html index 2df3c45..3952e7c 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">10</td> @@ -98,38 +98,38 @@ <a name="27"><span class="lineNum"> 27 </span> : : #define FDT_DBG(fmt, a...)</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> :<span class="lineCov"> 3295 : static void __save_err(int err, const char *str)</span></a> +<a name="30"><span class="lineNum"> 30 </span> :<span class="lineCov"> 1012 : static void __save_err(int err, const char *str)</span></a> <a name="31"><span class="lineNum"> 31 </span> : : {</a> <a name="32"><span class="lineNum"> 32 </span> : : FDT_DBG("rc: %d from \"%s\"\n", err, str);</a> -<a name="33"><span class="lineNum"> 33 </span> :<span class="lineCov"> 3295 : if (err && !fdt_error) {</span></a> +<a name="33"><span class="lineNum"> 33 </span> :<span class="lineCov"> 1012 : if (err && !fdt_error) {</span></a> <a name="34"><span class="lineNum"> 34 </span> :<span class="lineNoCov"> 0 : prerror("FDT: Error %d from \"%s\"\n", err, str);</span></a> <a name="35"><span class="lineNum"> 35 </span> :<span class="lineNoCov"> 0 : fdt_error = err;</span></a> <a name="36"><span class="lineNum"> 36 </span> : : }</a> -<a name="37"><span class="lineNum"> 37 </span> :<span class="lineCov"> 3295 : }</span></a> +<a name="37"><span class="lineNum"> 37 </span> :<span class="lineCov"> 1012 : }</span></a> <a name="38"><span class="lineNum"> 38 </span> : : </a> <a name="39"><span class="lineNum"> 39 </span> : : #define save_err(...) __save_err(__VA_ARGS__, #__VA_ARGS__)</a> <a name="40"><span class="lineNum"> 40 </span> : : </a> -<a name="41"><span class="lineNum"> 41 </span> :<span class="lineCov"> 236 : static void dt_property_cell(void *fdt, const char *name, u32 cell)</span></a> +<a name="41"><span class="lineNum"> 41 </span> :<span class="lineCov"> 80 : static void dt_property_cell(void *fdt, const char *name, u32 cell)</span></a> <a name="42"><span class="lineNum"> 42 </span> : : {</a> -<a name="43"><span class="lineNum"> 43 </span> :<span class="lineCov"> 236 : save_err(fdt_property_cell(fdt, name, cell));</span></a> -<a name="44"><span class="lineNum"> 44 </span> :<span class="lineCov"> 236 : }</span></a> +<a name="43"><span class="lineNum"> 43 </span> :<span class="lineCov"> 80 : save_err(fdt_property_cell(fdt, name, cell));</span></a> +<a name="44"><span class="lineNum"> 44 </span> :<span class="lineCov"> 80 : }</span></a> <a name="45"><span class="lineNum"> 45 </span> : : </a> -<a name="46"><span class="lineNum"> 46 </span> :<span class="lineCov"> 236 : static void dt_begin_node(void *fdt, const struct dt_node *dn)</span></a> +<a name="46"><span class="lineNum"> 46 </span> :<span class="lineCov"> 80 : static void dt_begin_node(void *fdt, const struct dt_node *dn)</span></a> <a name="47"><span class="lineNum"> 47 </span> : : {</a> -<a name="48"><span class="lineNum"> 48 </span> :<span class="lineCov"> 236 : save_err(fdt_begin_node(fdt, dn->name));</span></a> +<a name="48"><span class="lineNum"> 48 </span> :<span class="lineCov"> 80 : save_err(fdt_begin_node(fdt, dn->name));</span></a> <a name="49"><span class="lineNum"> 49 </span> : : </a> -<a name="50"><span class="lineNum"> 50 </span> :<span class="lineCov"> 236 : dt_property_cell(fdt, "phandle", dn->phandle);</span></a> -<a name="51"><span class="lineNum"> 51 </span> :<span class="lineCov"> 236 : }</span></a> +<a name="50"><span class="lineNum"> 50 </span> :<span class="lineCov"> 80 : dt_property_cell(fdt, "phandle", dn->phandle);</span></a> +<a name="51"><span class="lineNum"> 51 </span> :<span class="lineCov"> 80 : }</span></a> <a name="52"><span class="lineNum"> 52 </span> : : </a> -<a name="53"><span class="lineNum"> 53 </span> :<span class="lineCov"> 2575 : static void dt_property(void *fdt, const struct dt_property *p)</span></a> +<a name="53"><span class="lineNum"> 53 </span> :<span class="lineCov"> 766 : static void dt_property(void *fdt, const struct dt_property *p)</span></a> <a name="54"><span class="lineNum"> 54 </span> : : {</a> -<a name="55"><span class="lineNum"> 55 </span> :<span class="lineCov"> 2575 : save_err(fdt_property(fdt, p->name, p->prop, p->len));</span></a> -<a name="56"><span class="lineNum"> 56 </span> :<span class="lineCov"> 2575 : }</span></a> +<a name="55"><span class="lineNum"> 55 </span> :<span class="lineCov"> 766 : save_err(fdt_property(fdt, p->name, p->prop, p->len));</span></a> +<a name="56"><span class="lineNum"> 56 </span> :<span class="lineCov"> 766 : }</span></a> <a name="57"><span class="lineNum"> 57 </span> : : </a> -<a name="58"><span class="lineNum"> 58 </span> :<span class="lineCov"> 236 : static void dt_end_node(void *fdt)</span></a> +<a name="58"><span class="lineNum"> 58 </span> :<span class="lineCov"> 80 : static void dt_end_node(void *fdt)</span></a> <a name="59"><span class="lineNum"> 59 </span> : : {</a> -<a name="60"><span class="lineNum"> 60 </span> :<span class="lineCov"> 236 : save_err(fdt_end_node(fdt));</span></a> -<a name="61"><span class="lineNum"> 61 </span> :<span class="lineCov"> 236 : }</span></a> +<a name="60"><span class="lineNum"> 60 </span> :<span class="lineCov"> 80 : save_err(fdt_end_node(fdt));</span></a> +<a name="61"><span class="lineNum"> 61 </span> :<span class="lineCov"> 80 : }</span></a> <a name="62"><span class="lineNum"> 62 </span> : : </a> <a name="63"><span class="lineNum"> 63 </span> : : #ifdef DEBUG_FDT</a> <a name="64"><span class="lineNum"> 64 </span> : : static void dump_fdt(void *fdt)</a> @@ -173,38 +173,38 @@ <a name="102"><span class="lineNum"> 102 </span> : : }</a> <a name="103"><span class="lineNum"> 103 </span> : : #endif</a> <a name="104"><span class="lineNum"> 104 </span> : : </a> -<a name="105"><span class="lineNum"> 105 </span> :<span class="lineCov"> 236 : static void flatten_dt_properties(void *fdt, const struct dt_node *dn)</span></a> +<a name="105"><span class="lineNum"> 105 </span> :<span class="lineCov"> 80 : static void flatten_dt_properties(void *fdt, const struct dt_node *dn)</span></a> <a name="106"><span class="lineNum"> 106 </span> : : {</a> <a name="107"><span class="lineNum"> 107 </span> : : const struct dt_property *p;</a> <a name="108"><span class="lineNum"> 108 </span> : : </a> -<a name="109"><span class="lineNum"> 109 </span> :<span class="lineCov"> 2819 : list_for_each(&dn->properties, p, list) {</span></a> -<a name="110"><span class="lineNum"> 110 </span> :<span class="lineCov"> 2583 : if (strstarts(p->name, DT_PRIVATE))</span></a> -<a name="111"><span class="lineNum"> 111 </span> :<span class="lineCov"> 8 : continue;</span></a> +<a name="109"><span class="lineNum"> 109 </span> :<span class="lineCov"> 849 : list_for_each(&dn->properties, p, list) {</span></a> +<a name="110"><span class="lineNum"> 110 </span> :<span class="lineCov"> 769 : if (strstarts(p->name, DT_PRIVATE))</span></a> +<a name="111"><span class="lineNum"> 111 </span> :<span class="lineCov"> 3 : continue;</span></a> <a name="112"><span class="lineNum"> 112 </span> : : </a> <a name="113"><span class="lineNum"> 113 </span> : : FDT_DBG(" prop: %s size: %ld\n", p->name, p->len);</a> -<a name="114"><span class="lineNum"> 114 </span> :<span class="lineCov"> 2575 : dt_property(fdt, p);</span></a> +<a name="114"><span class="lineNum"> 114 </span> :<span class="lineCov"> 766 : dt_property(fdt, p);</span></a> <a name="115"><span class="lineNum"> 115 </span> : : }</a> -<a name="116"><span class="lineNum"> 116 </span> :<span class="lineCov"> 236 : }</span></a> +<a name="116"><span class="lineNum"> 116 </span> :<span class="lineCov"> 80 : }</span></a> <a name="117"><span class="lineNum"> 117 </span> : : </a> -<a name="118"><span class="lineNum"> 118 </span> :<span class="lineCov"> 236 : static void flatten_dt_node(void *fdt, const struct dt_node *root,</span></a> +<a name="118"><span class="lineNum"> 118 </span> :<span class="lineCov"> 80 : static void flatten_dt_node(void *fdt, const struct dt_node *root,</span></a> <a name="119"><span class="lineNum"> 119 </span> : : bool exclusive)</a> <a name="120"><span class="lineNum"> 120 </span> : : {</a> <a name="121"><span class="lineNum"> 121 </span> : : const struct dt_node *i;</a> <a name="122"><span class="lineNum"> 122 </span> : : </a> -<a name="123"><span class="lineNum"> 123 </span> :<span class="lineCov"> 236 : if (!exclusive) {</span></a> +<a name="123"><span class="lineNum"> 123 </span> :<span class="lineCov"> 80 : if (!exclusive) {</span></a> <a name="124"><span class="lineNum"> 124 </span> : : FDT_DBG("node: %s\n", root->name);</a> -<a name="125"><span class="lineNum"> 125 </span> :<span class="lineCov"> 236 : dt_begin_node(fdt, root);</span></a> -<a name="126"><span class="lineNum"> 126 </span> :<span class="lineCov"> 236 : flatten_dt_properties(fdt, root);</span></a> +<a name="125"><span class="lineNum"> 125 </span> :<span class="lineCov"> 80 : dt_begin_node(fdt, root);</span></a> +<a name="126"><span class="lineNum"> 126 </span> :<span class="lineCov"> 80 : flatten_dt_properties(fdt, root);</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> :<span class="lineCov"> 470 : list_for_each(&root->children, i, list)</span></a> -<a name="130"><span class="lineNum"> 130 </span> :<span class="lineCov"> 234 : flatten_dt_node(fdt, i, false);</span></a> +<a name="129"><span class="lineNum"> 129 </span> :<span class="lineCov"> 159 : list_for_each(&root->children, i, list)</span></a> +<a name="130"><span class="lineNum"> 130 </span> :<span class="lineCov"> 79 : flatten_dt_node(fdt, i, false);</span></a> <a name="131"><span class="lineNum"> 131 </span> : : </a> -<a name="132"><span class="lineNum"> 132 </span> :<span class="lineCov"> 236 : if (!exclusive)</span></a> -<a name="133"><span class="lineNum"> 133 </span> :<span class="lineCov"> 236 : dt_end_node(fdt);</span></a> -<a name="134"><span class="lineNum"> 134 </span> :<span class="lineCov"> 236 : }</span></a> +<a name="132"><span class="lineNum"> 132 </span> :<span class="lineCov"> 80 : if (!exclusive)</span></a> +<a name="133"><span class="lineNum"> 133 </span> :<span class="lineCov"> 80 : dt_end_node(fdt);</span></a> +<a name="134"><span class="lineNum"> 134 </span> :<span class="lineCov"> 80 : }</span></a> <a name="135"><span class="lineNum"> 135 </span> : : </a> -<a name="136"><span class="lineNum"> 136 </span> :<span class="lineCov"> 2 : static void create_dtb_reservemap(void *fdt, const struct dt_node *root)</span></a> +<a name="136"><span class="lineNum"> 136 </span> :<span class="lineCov"> 1 : static void create_dtb_reservemap(void *fdt, const struct dt_node *root)</span></a> <a name="137"><span class="lineNum"> 137 </span> : : {</a> <a name="138"><span class="lineNum"> 138 </span> : : uint64_t base, size;</a> <a name="139"><span class="lineNum"> 139 </span> : : const __be64 *ranges;</a> @@ -212,40 +212,40 @@ <a name="141"><span class="lineNum"> 141 </span> : : int i;</a> <a name="142"><span class="lineNum"> 142 </span> : : </a> <a name="143"><span class="lineNum"> 143 </span> : : /* Duplicate the reserved-ranges property into the fdt reservemap */</a> -<a name="144"><span class="lineNum"> 144 </span> :<span class="lineCov"> 2 : prop = dt_find_property(root, "reserved-ranges");</span></a> -<a name="145"><span class="lineNum"> 145 </span> :<span class="lineCov"> 2 : if (prop) {</span></a> -<a name="146"><span class="lineNum"> 146 </span> :<span class="lineCov"> 2 : ranges = (const void *)prop->prop;</span></a> +<a name="144"><span class="lineNum"> 144 </span> :<span class="lineCov"> 1 : prop = dt_find_property(root, "reserved-ranges");</span></a> +<a name="145"><span class="lineNum"> 145 </span> :<span class="lineCov"> 1 : if (prop) {</span></a> +<a name="146"><span class="lineNum"> 146 </span> :<span class="lineCov"> 1 : ranges = (const void *)prop->prop;</span></a> <a name="147"><span class="lineNum"> 147 </span> : : </a> -<a name="148"><span class="lineNum"> 148 </span> :<span class="lineCov"> 8 : for (i = 0; i < prop->len / (sizeof(uint64_t) * 2); i++) {</span></a> -<a name="149"><span class="lineNum"> 149 </span> :<span class="lineCov"> 6 : base = be64_to_cpu(*(ranges++));</span></a> -<a name="150"><span class="lineNum"> 150 </span> :<span class="lineCov"> 6 : size = be64_to_cpu(*(ranges++));</span></a> -<a name="151"><span class="lineNum"> 151 </span> :<span class="lineCov"> 6 : save_err(fdt_add_reservemap_entry(fdt, base, size));</span></a> +<a name="148"><span class="lineNum"> 148 </span> :<span class="lineCov"> 4 : for (i = 0; i < prop->len / (sizeof(uint64_t) * 2); i++) {</span></a> +<a name="149"><span class="lineNum"> 149 </span> :<span class="lineCov"> 3 : base = be64_to_cpu(*(ranges++));</span></a> +<a name="150"><span class="lineNum"> 150 </span> :<span class="lineCov"> 3 : size = be64_to_cpu(*(ranges++));</span></a> +<a name="151"><span class="lineNum"> 151 </span> :<span class="lineCov"> 3 : save_err(fdt_add_reservemap_entry(fdt, base, size));</span></a> <a name="152"><span class="lineNum"> 152 </span> : : }</a> <a name="153"><span class="lineNum"> 153 </span> : : }</a> <a name="154"><span class="lineNum"> 154 </span> : : </a> -<a name="155"><span class="lineNum"> 155 </span> :<span class="lineCov"> 2 : save_err(fdt_finish_reservemap(fdt));</span></a> -<a name="156"><span class="lineNum"> 156 </span> :<span class="lineCov"> 2 : }</span></a> +<a name="155"><span class="lineNum"> 155 </span> :<span class="lineCov"> 1 : save_err(fdt_finish_reservemap(fdt));</span></a> +<a name="156"><span class="lineNum"> 156 </span> :<span class="lineCov"> 1 : }</span></a> <a name="157"><span class="lineNum"> 157 </span> : : </a> -<a name="158"><span class="lineNum"> 158 </span> :<span class="lineCov"> 2 : static int __create_dtb(void *fdt, size_t len,</span></a> +<a name="158"><span class="lineNum"> 158 </span> :<span class="lineCov"> 1 : static int __create_dtb(void *fdt, size_t len,</span></a> <a name="159"><span class="lineNum"> 159 </span> : : const struct dt_node *root,</a> <a name="160"><span class="lineNum"> 160 </span> : : bool exclusive)</a> <a name="161"><span class="lineNum"> 161 </span> : : {</a> -<a name="162"><span class="lineNum"> 162 </span> :<span class="lineCov"> 2 : if (chip_quirk(QUIRK_SLOW_SIM))</span></a> +<a name="162"><span class="lineNum"> 162 </span> :<span class="lineCov"> 1 : if (chip_quirk(QUIRK_SLOW_SIM))</span></a> <a name="163"><span class="lineNum"> 163 </span> :<span class="lineNoCov"> 0 : save_err(fdt_create_with_flags(fdt, len, FDT_CREATE_FLAG_NO_NAME_DEDUP));</span></a> <a name="164"><span class="lineNum"> 164 </span> : : else</a> -<a name="165"><span class="lineNum"> 165 </span> :<span class="lineCov"> 2 : save_err(fdt_create_with_flags(fdt, len, 0));</span></a> -<a name="166"><span class="lineNum"> 166 </span> :<span class="lineCov"> 2 : if (fdt_error)</span></a> +<a name="165"><span class="lineNum"> 165 </span> :<span class="lineCov"> 1 : save_err(fdt_create_with_flags(fdt, len, 0));</span></a> +<a name="166"><span class="lineNum"> 166 </span> :<span class="lineCov"> 1 : if (fdt_error)</span></a> <a name="167"><span class="lineNum"> 167 </span> :<span class="lineNoCov"> 0 : goto err;</span></a> <a name="168"><span class="lineNum"> 168 </span> : : </a> -<a name="169"><span class="lineNum"> 169 </span> :<span class="lineCov"> 2 : if (root == dt_root && !exclusive)</span></a> -<a name="170"><span class="lineNum"> 170 </span> :<span class="lineCov"> 2 : create_dtb_reservemap(fdt, root);</span></a> +<a name="169"><span class="lineNum"> 169 </span> :<span class="lineCov"> 1 : if (root == dt_root && !exclusive)</span></a> +<a name="170"><span class="lineNum"> 170 </span> :<span class="lineCov"> 1 : create_dtb_reservemap(fdt, root);</span></a> <a name="171"><span class="lineNum"> 171 </span> : : else</a> <a name="172"><span class="lineNum"> 172 </span> :<span class="lineNoCov"> 0 : save_err(fdt_finish_reservemap(fdt));</span></a> <a name="173"><span class="lineNum"> 173 </span> : : </a> -<a name="174"><span class="lineNum"> 174 </span> :<span class="lineCov"> 2 : flatten_dt_node(fdt, root, exclusive);</span></a> +<a name="174"><span class="lineNum"> 174 </span> :<span class="lineCov"> 1 : flatten_dt_node(fdt, root, exclusive);</span></a> <a name="175"><span class="lineNum"> 175 </span> : : </a> -<a name="176"><span class="lineNum"> 176 </span> :<span class="lineCov"> 2 : save_err(fdt_finish(fdt));</span></a> -<a name="177"><span class="lineNum"> 177 </span> :<span class="lineCov"> 2 : if (fdt_error) {</span></a> +<a name="176"><span class="lineNum"> 176 </span> :<span class="lineCov"> 1 : save_err(fdt_finish(fdt));</span></a> +<a name="177"><span class="lineNum"> 177 </span> :<span class="lineCov"> 1 : if (fdt_error) {</span></a> <a name="178"><span class="lineNum"> 178 </span> :<span class="lineNoCov"> 0 : err:</span></a> <a name="179"><span class="lineNum"> 179 </span> :<span class="lineNoCov"> 0 : prerror("dtb: error %s\n", fdt_strerror(fdt_error));</span></a> <a name="180"><span class="lineNum"> 180 </span> :<span class="lineNoCov"> 0 : return fdt_error;</span></a> @@ -254,35 +254,35 @@ <a name="183"><span class="lineNum"> 183 </span> : : #ifdef DEBUG_FDT</a> <a name="184"><span class="lineNum"> 184 </span> : : dump_fdt(fdt);</a> <a name="185"><span class="lineNum"> 185 </span> : : #endif</a> -<a name="186"><span class="lineNum"> 186 </span> :<span class="lineCov"> 2 : return 0;</span></a> +<a name="186"><span class="lineNum"> 186 </span> :<span class="lineCov"> 1 : return 0;</span></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> :<span class="lineCov"> 2 : void *create_dtb(const struct dt_node *root, bool exclusive)</span></a> +<a name="189"><span class="lineNum"> 189 </span> :<span class="lineCov"> 1 : void *create_dtb(const struct dt_node *root, bool exclusive)</span></a> <a name="190"><span class="lineNum"> 190 </span> : : {</a> -<a name="191"><span class="lineNum"> 191 </span> :<span class="lineCov"> 2 : void *fdt = NULL;</span></a> -<a name="192"><span class="lineNum"> 192 </span> :<span class="lineCov"> 2 : size_t len = DEVICE_TREE_MAX_SIZE;</span></a> -<a name="193"><span class="lineNum"> 193 </span> :<span class="lineCov"> 2 : uint32_t old_last_phandle = get_last_phandle();</span></a> +<a name="191"><span class="lineNum"> 191 </span> :<span class="lineCov"> 1 : void *fdt = NULL;</span></a> +<a name="192"><span class="lineNum"> 192 </span> :<span class="lineCov"> 1 : size_t len = DEVICE_TREE_MAX_SIZE;</span></a> +<a name="193"><span class="lineNum"> 193 </span> :<span class="lineCov"> 1 : uint32_t old_last_phandle = get_last_phandle();</span></a> <a name="194"><span class="lineNum"> 194 </span> : : int ret;</a> <a name="195"><span class="lineNum"> 195 </span> : : </a> <a name="196"><span class="lineNum"> 196 </span> : : do {</a> -<a name="197"><span class="lineNum"> 197 </span> :<span class="lineCov"> 2 : set_last_phandle(old_last_phandle);</span></a> -<a name="198"><span class="lineNum"> 198 </span> :<span class="lineCov"> 2 : fdt_error = 0;</span></a> -<a name="199"><span class="lineNum"> 199 </span> :<span class="lineCov"> 2 : fdt = malloc(len);</span></a> -<a name="200"><span class="lineNum"> 200 </span> :<span class="lineCov"> 2 : if (!fdt) {</span></a> +<a name="197"><span class="lineNum"> 197 </span> :<span class="lineCov"> 1 : set_last_phandle(old_last_phandle);</span></a> +<a name="198"><span class="lineNum"> 198 </span> :<span class="lineCov"> 1 : fdt_error = 0;</span></a> +<a name="199"><span class="lineNum"> 199 </span> :<span class="lineCov"> 1 : fdt = malloc(len);</span></a> +<a name="200"><span class="lineNum"> 200 </span> :<span class="lineCov"> 1 : if (!fdt) {</span></a> <a name="201"><span class="lineNum"> 201 </span> :<span class="lineNoCov"> 0 : prerror("dtb: could not malloc %lu\n", (long)len);</span></a> <a name="202"><span class="lineNum"> 202 </span> :<span class="lineNoCov"> 0 : return NULL;</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> :<span class="lineCov"> 2 : ret = __create_dtb(fdt, len, root, exclusive);</span></a> -<a name="206"><span class="lineNum"> 206 </span> :<span class="lineCov"> 2 : if (ret) {</span></a> +<a name="205"><span class="lineNum"> 205 </span> :<span class="lineCov"> 1 : ret = __create_dtb(fdt, len, root, exclusive);</span></a> +<a name="206"><span class="lineNum"> 206 </span> :<span class="lineCov"> 1 : if (ret) {</span></a> <a name="207"><span class="lineNum"> 207 </span> :<span class="lineNoCov"> 0 : free(fdt);</span></a> <a name="208"><span class="lineNum"> 208 </span> :<span class="lineNoCov"> 0 : fdt = NULL;</span></a> <a name="209"><span class="lineNum"> 209 </span> : : }</a> <a name="210"><span class="lineNum"> 210 </span> : : </a> -<a name="211"><span class="lineNum"> 211 </span> :<span class="lineCov"> 2 : len *= 2;</span></a> -<a name="212"><span class="lineNum"> 212 </span> :<span class="lineCov"> 2 : } while (ret == -FDT_ERR_NOSPACE);</span></a> +<a name="211"><span class="lineNum"> 211 </span> :<span class="lineCov"> 1 : len *= 2;</span></a> +<a name="212"><span class="lineNum"> 212 </span> :<span class="lineCov"> 1 : } while (ret == -FDT_ERR_NOSPACE);</span></a> <a name="213"><span class="lineNum"> 213 </span> : : </a> -<a name="214"><span class="lineNum"> 214 </span> :<span class="lineCov"> 2 : return fdt;</span></a> +<a name="214"><span class="lineNum"> 214 </span> :<span class="lineCov"> 1 : return fdt;</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 int64_t opal_get_device_tree(uint32_t phandle,</span></a> 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 b3b36e1..03f0336 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 3e52d3d..e93bb9b 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 d1097d0..774ee7c 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 1fdb7ad..eb8791c 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 5d5fbf4..b7064c1 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 5ce1f38..460ce07 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 b860541..c860ebb 100644 --- a/coverage-report/core/index-sort-b.html +++ b/coverage-report/core/index-sort-b.html @@ -31,13 +31,13 @@ <td class="headerValue">skiboot.info</td> <td></td> <td class="headerItem">Lines:</td> - <td class="headerCovTableEntry">1999</td> + <td class="headerCovTableEntry">1998</td> <td class="headerCovTableEntry">2751</td> - <td class="headerCovTableEntryLo">72.7 %</td> + <td class="headerCovTableEntryLo">72.6 %</td> </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">187</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="chip.c.gcov.html">chip.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="../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=85 height=10 alt="84.9%"><img src="../snow.png" width=15 height=10 alt="84.9%"></td></tr></table> </td> - <td class="coverPerLo">0.0 %</td> - <td class="coverNumLo">0 / 107</td> - <td class="coverPerLo">0.0 %</td> - <td class="coverNumLo">0 / 8</td> + <td class="coverPerMed">84.9 %</td> + <td class="coverNumMed">482 / 568</td> + <td class="coverPerMed">89.7 %</td> + <td class="coverNumMed">61 / 68</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="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=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=71 height=10 alt="71.4%"><img src="../snow.png" width=29 height=10 alt="71.4%"></td></tr></table> </td> - <td class="coverPerLo">73.1 %</td> - <td class="coverNumLo">68 / 93</td> - <td class="coverPerMed">75.0 %</td> - <td class="coverNumMed">3 / 4</td> + <td class="coverPerLo">71.4 %</td> + <td class="coverNumLo">90 / 126</td> + <td class="coverPerLo">71.4 %</td> + <td class="coverNumLo">5 / 7</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="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=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=96 height=10 alt="96.3%"><img src="../snow.png" width=4 height=10 alt="96.3%"></td></tr></table> </td> - <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">21 / 21</td> + <td class="coverPerHi">96.3 %</td> + <td class="coverNumHi">26 / 27</td> <td class="coverPerHi">100.0 %</td> <td class="coverNumHi">3 / 3</td> <td class="coverPerHi">-</td> @@ -130,194 +130,194 @@ <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="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="../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="../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="coverPerMed">76.9 %</td> - <td class="coverNumMed">113 / 147</td> - <td class="coverPerLo">54.5 %</td> - <td class="coverNumLo">6 / 11</td> + <td class="coverPerLo">61.8 %</td> + <td class="coverNumLo">68 / 110</td> + <td class="coverPerLo">69.2 %</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="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="../ruby.png" width=64 height=10 alt="63.9%"><img src="../snow.png" width=36 height=10 alt="63.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">63.9 %</td> - <td class="coverNumLo">467 / 731</td> - <td class="coverPerMed">76.5 %</td> - <td class="coverNumMed">39 / 51</td> + <td class="coverPerHi">100.0 %</td> + <td class="coverNumHi">21 / 21</td> + <td class="coverPerHi">100.0 %</td> + <td class="coverNumHi">3 / 3</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="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="../amber.png" width=85 height=10 alt="85.0%"><img src="../snow.png" width=15 height=10 alt="85.0%"></td></tr></table> + <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../amber.png" width=88 height=10 alt="87.5%"><img src="../snow.png" width=12 height=10 alt="87.5%"></td></tr></table> </td> - <td class="coverPerMed">85.0 %</td> - <td class="coverNumMed">483 / 568</td> - <td class="coverPerMed">89.7 %</td> - <td class="coverNumMed">61 / 68</td> + <td class="coverPerMed">87.5 %</td> + <td class="coverNumMed">42 / 48</td> + <td class="coverPerHi">100.0 %</td> + <td class="coverNumHi">6 / 6</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="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="../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="../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="coverPerLo">71.4 %</td> - <td class="coverNumLo">90 / 126</td> - <td class="coverPerLo">71.4 %</td> - <td class="coverNumLo">5 / 7</td> + <td class="coverPerMed">85.3 %</td> + <td class="coverNumMed">58 / 68</td> + <td class="coverPerHi">100.0 %</td> + <td class="coverNumHi">3 / 3</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="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=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.5%"><img src="../snow.png" width=3 height=10 alt="97.5%"></td></tr></table> </td> + <td class="coverPerHi">97.5 %</td> + <td class="coverNumHi">155 / 159</td> <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">18 / 18</td> - <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">2 / 2</td> + <td class="coverNumHi">12 / 12</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="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="../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="../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="coverPerMed">88.1 %</td> - <td class="coverNumMed">52 / 59</td> + <td class="coverPerLo">69.6 %</td> + <td class="coverNumLo">32 / 46</td> <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">4 / 4</td> + <td class="coverNumHi">1 / 1</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="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="../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=81 height=10 alt="81.4%"><img src="../snow.png" width=19 height=10 alt="81.4%"></td></tr></table> </td> - <td class="coverPerHi">96.3 %</td> - <td class="coverNumHi">26 / 27</td> + <td class="coverPerMed">81.4 %</td> + <td class="coverNumMed">118 / 145</td> <td class="coverPerHi">100.0 %</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="bitmap.c.gcov.html">bitmap.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="../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=63 height=10 alt="63.4%"><img src="../snow.png" width=37 height=10 alt="63.4%"></td></tr></table> </td> - <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">21 / 21</td> - <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">3 / 3</td> + <td class="coverPerLo">63.4 %</td> + <td class="coverNumLo">64 / 101</td> + <td class="coverPerHi">90.9 %</td> + <td class="coverNumHi">10 / 11</td> <td class="coverPerHi">-</td> <td class="coverNumHi">0 / 0</td> </tr> <tr> - <td class="coverFile"><a href="pci-quirk.c.gcov.html">pci-quirk.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="../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="../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table> </td> - <td class="coverPerLo">13.3 %</td> - <td class="coverNumLo">8 / 60</td> - <td class="coverPerLo">20.0 %</td> - <td class="coverNumLo">1 / 5</td> + <td class="coverPerHi">100.0 %</td> + <td class="coverNumHi">18 / 18</td> + <td class="coverPerHi">100.0 %</td> + <td class="coverNumHi">2 / 2</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="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="../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="../ruby.png" width=64 height=10 alt="63.9%"><img src="../snow.png" width=36 height=10 alt="63.9%"></td></tr></table> </td> - <td class="coverPerLo">69.6 %</td> - <td class="coverNumLo">32 / 46</td> - <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">1 / 1</td> + <td class="coverPerLo">63.9 %</td> + <td class="coverNumLo">467 / 731</td> + <td class="coverPerMed">76.5 %</td> + <td class="coverNumMed">39 / 51</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="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="../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=73 height=10 alt="73.1%"><img src="../snow.png" width=27 height=10 alt="73.1%"></td></tr></table> </td> - <td class="coverPerLo">61.8 %</td> - <td class="coverNumLo">68 / 110</td> - <td class="coverPerLo">69.2 %</td> - <td class="coverNumLo">9 / 13</td> + <td class="coverPerLo">73.1 %</td> + <td class="coverNumLo">68 / 93</td> + <td class="coverPerMed">75.0 %</td> + <td class="coverNumMed">3 / 4</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="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="../amber.png" width=88 height=10 alt="87.5%"><img src="../snow.png" width=12 height=10 alt="87.5%"></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="coverPerMed">87.5 %</td> - <td class="coverNumMed">42 / 48</td> - <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">6 / 6</td> + <td class="coverPerLo">0.0 %</td> + <td class="coverNumLo">0 / 107</td> + <td class="coverPerLo">0.0 %</td> + <td class="coverNumLo">0 / 8</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 %</td> - <td class="coverNumMed">58 / 68</td> - <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">3 / 3</td> + <td class="coverPerMed">76.9 %</td> + <td class="coverNumMed">113 / 147</td> + <td class="coverPerLo">54.5 %</td> + <td class="coverNumLo">6 / 11</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="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=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=100 height=10 alt="100.0%"></td></tr></table> </td> - <td class="coverPerHi">97.5 %</td> - <td class="coverNumHi">155 / 159</td> <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">12 / 12</td> + <td class="coverNumHi">21 / 21</td> + <td class="coverPerHi">100.0 %</td> + <td class="coverNumHi">3 / 3</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="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="../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="../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="coverPerLo">63.4 %</td> - <td class="coverNumLo">64 / 101</td> - <td class="coverPerHi">90.9 %</td> - <td class="coverNumHi">10 / 11</td> + <td class="coverPerMed">88.1 %</td> + <td class="coverNumMed">52 / 59</td> + <td class="coverPerHi">100.0 %</td> + <td class="coverNumHi">4 / 4</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="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="../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="../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="coverPerMed">81.4 %</td> - <td class="coverNumMed">118 / 145</td> - <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">4 / 4</td> + <td class="coverPerLo">13.3 %</td> + <td class="coverNumLo">8 / 60</td> + <td class="coverPerLo">20.0 %</td> + <td class="coverNumLo">1 / 5</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 b6ece28..f4d697d 100644 --- a/coverage-report/core/index-sort-f.html +++ b/coverage-report/core/index-sort-f.html @@ -31,13 +31,13 @@ <td class="headerValue">skiboot.info</td> <td></td> <td class="headerItem">Lines:</td> - <td class="headerCovTableEntry">1999</td> + <td class="headerCovTableEntry">1998</td> <td class="headerCovTableEntry">2751</td> - <td class="headerCovTableEntryLo">72.7 %</td> + <td class="headerCovTableEntryLo">72.6 %</td> </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">187</td> @@ -168,10 +168,10 @@ <tr> <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="../amber.png" width=85 height=10 alt="85.0%"><img src="../snow.png" width=15 height=10 alt="85.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.9%"><img src="../snow.png" width=15 height=10 alt="84.9%"></td></tr></table> </td> - <td class="coverPerMed">85.0 %</td> - <td class="coverNumMed">483 / 568</td> + <td class="coverPerMed">84.9 %</td> + <td class="coverNumMed">482 / 568</td> <td class="coverPerMed">89.7 %</td> <td class="coverNumMed">61 / 68</td> <td class="coverPerHi">-</td> @@ -214,18 +214,6 @@ <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="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 %</td> - <td class="coverNumHi">21 / 21</td> - <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">3 / 3</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="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> @@ -262,14 +250,14 @@ <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="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=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 %</td> - <td class="coverNumMed">52 / 59</td> <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">4 / 4</td> + <td class="coverNumHi">21 / 21</td> + <td class="coverPerHi">100.0 %</td> + <td class="coverNumHi">3 / 3</td> <td class="coverPerHi">-</td> <td class="coverNumHi">0 / 0</td> </tr> @@ -286,6 +274,18 @@ <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=88 height=10 alt="88.1%"><img src="../snow.png" width=12 height=10 alt="88.1%"></td></tr></table> + </td> + <td class="coverPerMed">88.1 %</td> + <td class="coverNumMed">52 / 59</td> + <td class="coverPerHi">100.0 %</td> + <td class="coverNumHi">4 / 4</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="coverBar" align="center"> <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../amber.png" width=88 height=10 alt="87.5%"><img src="../snow.png" width=12 height=10 alt="87.5%"></td></tr></table> diff --git a/coverage-report/core/index-sort-l.html b/coverage-report/core/index-sort-l.html index 629dfd0..aa8f9cf 100644 --- a/coverage-report/core/index-sort-l.html +++ b/coverage-report/core/index-sort-l.html @@ -31,13 +31,13 @@ <td class="headerValue">skiboot.info</td> <td></td> <td class="headerItem">Lines:</td> - <td class="headerCovTableEntry">1999</td> + <td class="headerCovTableEntry">1998</td> <td class="headerCovTableEntry">2751</td> - <td class="headerCovTableEntryLo">72.7 %</td> + <td class="headerCovTableEntryLo">72.6 %</td> </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">187</td> @@ -204,10 +204,10 @@ <tr> <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="../amber.png" width=85 height=10 alt="85.0%"><img src="../snow.png" width=15 height=10 alt="85.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.9%"><img src="../snow.png" width=15 height=10 alt="84.9%"></td></tr></table> </td> - <td class="coverPerMed">85.0 %</td> - <td class="coverNumMed">483 / 568</td> + <td class="coverPerMed">84.9 %</td> + <td class="coverNumMed">482 / 568</td> <td class="coverPerMed">89.7 %</td> <td class="coverNumMed">61 / 68</td> <td class="coverPerHi">-</td> @@ -298,7 +298,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> @@ -310,7 +310,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> diff --git a/coverage-report/core/index.html b/coverage-report/core/index.html index 147dc91..aef50dc 100644 --- a/coverage-report/core/index.html +++ b/coverage-report/core/index.html @@ -31,13 +31,13 @@ <td class="headerValue">skiboot.info</td> <td></td> <td class="headerItem">Lines:</td> - <td class="headerCovTableEntry">1999</td> + <td class="headerCovTableEntry">1998</td> <td class="headerCovTableEntry">2751</td> - <td class="headerCovTableEntryLo">72.7 %</td> + <td class="headerCovTableEntryLo">72.6 %</td> </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">187</td> @@ -144,10 +144,10 @@ <tr> <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="../amber.png" width=85 height=10 alt="85.0%"><img src="../snow.png" width=15 height=10 alt="85.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.9%"><img src="../snow.png" width=15 height=10 alt="84.9%"></td></tr></table> </td> - <td class="coverPerMed">85.0 %</td> - <td class="coverNumMed">483 / 568</td> + <td class="coverPerMed">84.9 %</td> + <td class="coverNumMed">482 / 568</td> <td class="coverPerMed">89.7 %</td> <td class="coverNumMed">61 / 68</td> <td class="coverPerHi">-</td> diff --git a/coverage-report/core/malloc.c.func-sort-c.html b/coverage-report/core/malloc.c.func-sort-c.html index 210e202..d140726 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">6</td> diff --git a/coverage-report/core/malloc.c.func.html b/coverage-report/core/malloc.c.func.html index e178970..8f5ffa3 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">6</td> diff --git a/coverage-report/core/malloc.c.gcov.html b/coverage-report/core/malloc.c.gcov.html index 1a78afc..64f1463 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">6</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 bebd6ec..a2490ed 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">39</td> @@ -134,7 +134,7 @@ </tr> <tr> <td class="coverFn"><a href="mem_region.c.gcov.html#1217">mem_region_release_unused</a></td> - <td class="coverFnHi">5</td> + <td class="coverFnHi">4</td> </tr> <tr> <td class="coverFn"><a href="mem_region.c.gcov.html#262">hdr_location</a></td> @@ -149,20 +149,20 @@ <td class="coverFnHi">8</td> </tr> <tr> - <td class="coverFn"><a href="mem_region.c.gcov.html#966">mem_range_is_reserved</a></td> - <td class="coverFnHi">14</td> + <td class="coverFn"><a href="mem_region.c.gcov.html#1193">allocated_length</a></td> + <td class="coverFnHi">12</td> </tr> <tr> - <td class="coverFn"><a href="mem_region.c.gcov.html#1193">allocated_length</a></td> - <td class="coverFnHi">16</td> + <td class="coverFn"><a href="mem_region.c.gcov.html#966">mem_range_is_reserved</a></td> + <td class="coverFnHi">14</td> </tr> <tr> <td class="coverFn"><a href="mem_region.c.gcov.html#1101">mem_region_init</a></td> - <td class="coverFnHi">20</td> + <td class="coverFnHi">19</td> </tr> <tr> <td class="coverFn"><a href="mem_region.c.gcov.html#1016">mem_region_parse_reserved_properties</a></td> - <td class="coverFnHi">20</td> + <td class="coverFnHi">19</td> </tr> <tr> <td class="coverFn"><a href="mem_region.c.gcov.html#826">mem_reserve</a></td> @@ -177,76 +177,76 @@ <td class="coverFnHi">28</td> </tr> <tr> - <td class="coverFn"><a href="mem_region.c.gcov.html#1057">mem_region_parse_reserved_nodes</a></td> - <td class="coverFnHi">40</td> + <td class="coverFn"><a href="mem_region.c.gcov.html#701">split_region</a></td> + <td class="coverFnHi">37</td> </tr> <tr> - <td class="coverFn"><a href="mem_region.c.gcov.html#701">split_region</a></td> - <td class="coverFnHi">46</td> + <td class="coverFn"><a href="mem_region.c.gcov.html#1057">mem_region_parse_reserved_nodes</a></td> + <td class="coverFnHi">38</td> </tr> <tr> <td class="coverFn"><a href="mem_region.c.gcov.html#745">contains</a></td> - <td class="coverFnHi">50</td> + <td class="coverFnHi">39</td> </tr> <tr> <td class="coverFn"><a href="mem_region.c.gcov.html#678">new_region</a></td> - <td class="coverFnHi">105</td> + <td class="coverFnHi">91</td> </tr> <tr> - <td class="coverFn"><a href="mem_region.c.gcov.html#290">region_is_reserved</a></td> + <td class="coverFn"><a href="mem_region.c.gcov.html#778">add_region</a></td> <td class="coverFnHi">128</td> </tr> <tr> - <td class="coverFn"><a href="mem_region.c.gcov.html#778">add_region</a></td> - <td class="coverFnHi">136</td> + <td class="coverFn"><a href="mem_region.c.gcov.html#290">region_is_reserved</a></td> + <td class="coverFnHi">128</td> </tr> <tr> <td class="coverFn"><a href="mem_region.c.gcov.html#764">add_region_to_regions</a></td> - <td class="coverFnHi">158</td> + <td class="coverFnHi">148</td> </tr> <tr> <td class="coverFn"><a href="mem_region.c.gcov.html#753">get_overlap</a></td> - <td class="coverFnHi">168</td> + <td class="coverFnHi">152</td> </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">300</td> </tr> <tr> <td class="coverFn"><a href="mem_region.c.gcov.html#717">intersects</a></td> - <td class="coverFnHi">1204</td> + <td class="coverFnHi">1094</td> </tr> <tr> <td class="coverFn"><a href="mem_region.c.gcov.html#723">maybe_split</a></td> - <td class="coverFnHi">1204</td> + <td class="coverFnHi">1094</td> </tr> <tr> <td class="coverFn"><a href="mem_region.c.gcov.html#739">overlaps</a></td> - <td class="coverFnHi">1399</td> + <td class="coverFnHi">1258</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">1673</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">4464</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">4464</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">4472</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">15897</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">30223</td> </tr> <tr> <td class="coverFn"><a href="mem_region.c.gcov.html#526">mem_allocated_size</a></td> @@ -258,19 +258,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">131266</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">135505</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">308449</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">448540</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 94b09fc..83ffcc1 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">39</td> @@ -78,19 +78,19 @@ </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">4464</td> </tr> <tr> <td class="coverFn"><a href="mem_region.c.gcov.html#778">add_region</a></td> - <td class="coverFnHi">136</td> + <td class="coverFnHi">128</td> </tr> <tr> <td class="coverFn"><a href="mem_region.c.gcov.html#764">add_region_to_regions</a></td> - <td class="coverFnHi">158</td> + <td class="coverFnHi">148</td> </tr> <tr> <td class="coverFn"><a href="mem_region.c.gcov.html#1193">allocated_length</a></td> - <td class="coverFnHi">16</td> + <td class="coverFnHi">12</td> </tr> <tr> <td class="coverFn"><a href="mem_region.c.gcov.html#270">bad_header</a></td> @@ -98,11 +98,11 @@ </tr> <tr> <td class="coverFn"><a href="mem_region.c.gcov.html#745">contains</a></td> - <td class="coverFnHi">50</td> + <td class="coverFnHi">39</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">135505</td> </tr> <tr> <td class="coverFn"><a href="mem_region.c.gcov.html#955">find_mem_region</a></td> @@ -110,11 +110,11 @@ </tr> <tr> <td class="coverFn"><a href="mem_region.c.gcov.html#220">fits</a></td> - <td class="coverFnHi">4469</td> + <td class="coverFnHi">4472</td> </tr> <tr> <td class="coverFn"><a href="mem_region.c.gcov.html#753">get_overlap</a></td> - <td class="coverFnHi">168</td> + <td class="coverFnHi">152</td> </tr> <tr> <td class="coverFn"><a href="mem_region.c.gcov.html#262">hdr_location</a></td> @@ -126,11 +126,11 @@ </tr> <tr> <td class="coverFn"><a href="mem_region.c.gcov.html#717">intersects</a></td> - <td class="coverFnHi">1204</td> + <td class="coverFnHi">1094</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">15897</td> </tr> <tr> <td class="coverFn"><a href="mem_region.c.gcov.html#855">matches_chip_id</a></td> @@ -138,11 +138,11 @@ </tr> <tr> <td class="coverFn"><a href="mem_region.c.gcov.html#723">maybe_split</a></td> - <td class="coverFnHi">1204</td> + <td class="coverFnHi">1094</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">4464</td> </tr> <tr> <td class="coverFn"><a href="mem_region.c.gcov.html#526">mem_allocated_size</a></td> @@ -150,7 +150,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">131266</td> </tr> <tr> <td class="coverFn"><a href="mem_region.c.gcov.html#666">mem_check_all</a></td> @@ -170,11 +170,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">300</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">1673</td> </tr> <tr> <td class="coverFn"><a href="mem_region.c.gcov.html#966">mem_range_is_reserved</a></td> @@ -194,7 +194,7 @@ </tr> <tr> <td class="coverFn"><a href="mem_region.c.gcov.html#1101">mem_region_init</a></td> - <td class="coverFnHi">20</td> + <td class="coverFnHi">19</td> </tr> <tr> <td class="coverFn"><a href="mem_region.c.gcov.html#1575">mem_region_next</a></td> @@ -202,15 +202,15 @@ </tr> <tr> <td class="coverFn"><a href="mem_region.c.gcov.html#1057">mem_region_parse_reserved_nodes</a></td> - <td class="coverFnHi">40</td> + <td class="coverFnHi">38</td> </tr> <tr> <td class="coverFn"><a href="mem_region.c.gcov.html#1016">mem_region_parse_reserved_properties</a></td> - <td class="coverFnHi">20</td> + <td class="coverFnHi">19</td> </tr> <tr> <td class="coverFn"><a href="mem_region.c.gcov.html#1217">mem_region_release_unused</a></td> - <td class="coverFnHi">5</td> + <td class="coverFnHi">4</td> </tr> <tr> <td class="coverFn"><a href="mem_region.c.gcov.html#826">mem_reserve</a></td> @@ -234,15 +234,15 @@ </tr> <tr> <td class="coverFn"><a href="mem_region.c.gcov.html#678">new_region</a></td> - <td class="coverFnHi">105</td> + <td class="coverFnHi">91</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">308449</td> </tr> <tr> <td class="coverFn"><a href="mem_region.c.gcov.html#739">overlaps</a></td> - <td class="coverFnHi">1399</td> + <td class="coverFnHi">1258</td> </tr> <tr> <td class="coverFn"><a href="mem_region.c.gcov.html#285">region_is_reservable</a></td> @@ -254,11 +254,11 @@ </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">448540</td> </tr> <tr> <td class="coverFn"><a href="mem_region.c.gcov.html#701">split_region</a></td> - <td class="coverFnHi">46</td> + <td class="coverFnHi">37</td> </tr> <tr> <td class="coverFn"><a href="mem_region.c.gcov.html#1328">start_mem_region_clear_unused</a></td> @@ -266,7 +266,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">30223</td> </tr> <tr> <td class="coverFn"><a href="mem_region.c.gcov.html#1428">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 6052d5a..b60b195 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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"> 448540 : 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->start;</span></a> +<a name="123"><span class="lineNum"> 123 </span> :<span class="lineCov"> 448540 : return (void *)(unsigned long)region->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"> 30223 : 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->hdr.num_longs - 1;</span></a> +<a name="129"><span class="lineNum"> 129 </span> :<span class="lineCov"> 30223 : return (unsigned long *)f + f->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"> 308449 : 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->num_longs);</span></a> -<a name="139"><span class="lineNum"> 139 </span> :<span class="lineCov"> 308416 : if (next >= region_start(region) + region->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"> 308449 : next = ((unsigned long *)hdr + hdr->num_longs);</span></a> +<a name="139"><span class="lineNum"> 139 </span> :<span class="lineCov"> 308449 : if (next >= region_start(region) + region->len)</span></a> +<a name="140"><span class="lineNum"> 140 </span> :<span class="lineCov"> 157939 : next = NULL;</span></a> +<a name="141"><span class="lineNum"> 141 </span> :<span class="lineCov"> 308449 : 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"> 1673 : 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"> 1673 : 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 > POISON_MEM_REGION_LIMIT)</span></a> +<a name="151"><span class="lineNum"> 151 </span> :<span class="lineCov"> 1673 : if (poison_size > 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"> 1673 : memset(f+1, POISON_MEM_REGION_WITH, poison_size);</span></a> +<a name="155"><span class="lineNum"> 155 </span> :<span class="lineCov"> 1673 : }</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"> 15897 : 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"> 15897 : if (!skip_poison)</span></a> +<a name="182"><span class="lineNum"> 182 </span> :<span class="lineCov"> 1665 : 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->hdr.prev_free) {</span></a> +<a name="187"><span class="lineNum"> 187 </span> :<span class="lineCov"> 15897 : if (f->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"> 1647 : 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->hdr.free);</span></a> -<a name="194"><span class="lineNum"> 194 </span> :<span class="lineCov"> 1641 : assert(!prev->hdr.prev_free);</span></a> +<a name="191"><span class="lineNum"> 191 </span> :<span class="lineCov"> 1647 : assert(*prev_tailer);</span></a> +<a name="192"><span class="lineNum"> 192 </span> :<span class="lineCov"> 1647 : prev = (void *)((unsigned long *)f - *prev_tailer);</span></a> +<a name="193"><span class="lineNum"> 193 </span> :<span class="lineCov"> 1647 : assert(prev->hdr.free);</span></a> +<a name="194"><span class="lineNum"> 194 </span> :<span class="lineCov"> 1647 : assert(!prev->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->hdr.num_longs += f->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"> 1647 : prev->hdr.num_longs += f->hdr.num_longs;</span></a> +<a name="198"><span class="lineNum"> 198 </span> :<span class="lineCov"> 1647 : 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->hdr.free = true;</span></a> -<a name="201"><span class="lineNum"> 201 </span> :<span class="lineCov"> 14244 : f->hdr.location = location;</span></a> -<a name="202"><span class="lineNum"> 202 </span> :<span class="lineCov"> 14244 : list_add(&region->free_list, &f->list);</span></a> +<a name="200"><span class="lineNum"> 200 </span> :<span class="lineCov"> 14250 : f->hdr.free = true;</span></a> +<a name="201"><span class="lineNum"> 201 </span> :<span class="lineCov"> 14250 : f->hdr.location = location;</span></a> +<a name="202"><span class="lineNum"> 202 </span> :<span class="lineCov"> 14250 : list_add(&region->free_list, &f->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->hdr.num_longs;</span></a> +<a name="206"><span class="lineNum"> 206 </span> :<span class="lineCov"> 15897 : *tailer(f) = f->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, &f->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->prev_free = true;</span></a> -<a name="212"><span class="lineNum"> 212 </span> :<span class="lineCov"> 1780 : if (next->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(&region->free_list, &next_free->list);</span></a> +<a name="209"><span class="lineNum"> 209 </span> :<span class="lineCov"> 15897 : next = next_hdr(region, &f->hdr);</span></a> +<a name="210"><span class="lineNum"> 210 </span> :<span class="lineCov"> 15897 : if (next) {</span></a> +<a name="211"><span class="lineNum"> 211 </span> :<span class="lineCov"> 1786 : next->prev_free = true;</span></a> +<a name="212"><span class="lineNum"> 212 </span> :<span class="lineCov"> 1786 : if (next->free) {</span></a> +<a name="213"><span class="lineNum"> 213 </span> :<span class="lineCov"> 1599 : struct free_hdr *next_free = (void *)next;</span></a> +<a name="214"><span class="lineNum"> 214 </span> :<span class="lineCov"> 1599 : list_del_from(&region->free_list, &next_free->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"> 1599 : 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"> 15897 : }</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"> 4472 : 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"> 4472 : *offset = 0;</span></a> <a name="225"><span class="lineNum"> 225 </span> : : </a> -<a name="226"><span class="lineNum"> 226 </span> :<span class="lineCov"> 19061 : while (f->hdr.num_longs >= *offset + longs) {</span></a> +<a name="226"><span class="lineNum"> 226 </span> :<span class="lineCov"> 36187 : while (f->hdr.num_longs >= *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"> 19049 : addr = (unsigned long)f</span></a> -<a name="230"><span class="lineNum"> 230 </span> :<span class="lineCov"> 19049 : + (*offset + ALLOC_HDR_LONGS) * sizeof(long);</span></a> -<a name="231"><span class="lineNum"> 231 </span> :<span class="lineCov"> 19049 : if ((addr & (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"> 36175 : addr = (unsigned long)f</span></a> +<a name="230"><span class="lineNum"> 230 </span> :<span class="lineCov"> 36175 : + (*offset + ALLOC_HDR_LONGS) * sizeof(long);</span></a> +<a name="231"><span class="lineNum"> 231 </span> :<span class="lineCov"> 36175 : if ((addr & (align - 1)) == 0)</span></a> +<a name="232"><span class="lineNum"> 232 </span> :<span class="lineCov"> 4460 : 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"> 14592 : 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"> 31715 : if (*offset == 0)</span></a> +<a name="236"><span class="lineNum"> 236 </span> :<span class="lineCov"> 17 : *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"> 14578 : (*offset)++;</span></a> +<a name="238"><span class="lineNum"> 238 </span> :<span class="lineCov"> 31698 : (*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"> 135505 : 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->num_longs > alloc_longs + ALLOC_MIN_LONGS) {</span></a> +<a name="248"><span class="lineNum"> 248 </span> :<span class="lineCov"> 135505 : if (hdr->num_longs > 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->hdr.num_longs = hdr->num_longs - alloc_longs;</span></a> -<a name="254"><span class="lineNum"> 254 </span> :<span class="lineCov"> 13980 : post->hdr.prev_free = false;</span></a> +<a name="252"><span class="lineNum"> 252 </span> :<span class="lineCov"> 13983 : post = (void *)hdr + alloc_longs * sizeof(long);</span></a> +<a name="253"><span class="lineNum"> 253 </span> :<span class="lineCov"> 13983 : post->hdr.num_longs = hdr->num_longs - alloc_longs;</span></a> +<a name="254"><span class="lineNum"> 254 </span> :<span class="lineCov"> 13983 : post->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->num_longs = alloc_longs;</span></a> +<a name="257"><span class="lineNum"> 257 </span> :<span class="lineCov"> 13983 : hdr->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"> 13983 : 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"> 135505 : }</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"> 4464 : 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) & align));</span></a> +<a name="397"><span class="lineNum"> 397 </span> :<span class="lineCov"> 4464 : assert(!((align - 1) & 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->type == REGION_SKIBOOT_HEAP ||</span></a> +<a name="403"><span class="lineNum"> 403 </span> :<span class="lineCov"> 4464 : if (!(region->type == REGION_SKIBOOT_HEAP ||</span></a> <a name="404"><span class="lineNum"> 404 </span> :<span class="lineCov"> 1 : region->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->free_list.n.next == NULL)</span></a> +<a name="408"><span class="lineNum"> 408 </span> :<span class="lineCov"> 4464 : if (region->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 > region->len)</span></a> +<a name="412"><span class="lineNum"> 412 </span> :<span class="lineCov"> 4464 : if (size > region->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 < sizeof(long))</span></a> +<a name="416"><span class="lineNum"> 416 </span> :<span class="lineCov"> 4462 : if (align < 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"> 4462 : 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 < 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"> 4462 : if (alloc_longs < ALLOC_MIN_LONGS)</span></a> +<a name="424"><span class="lineNum"> 424 </span> :<span class="lineCov"> 177 : 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(&region->free_list, f, list) {</span></a> +<a name="427"><span class="lineNum"> 427 </span> :<span class="lineCov"> 4474 : list_for_each(&region->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, &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"> 4472 : if (fits(f, alloc_longs, align, &offset))</span></a> +<a name="430"><span class="lineNum"> 430 </span> :<span class="lineCov"> 4460 : 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->hdr.free);</span></a> -<a name="437"><span class="lineNum"> 437 </span> :<span class="lineCov"> 4457 : assert(!f->hdr.prev_free);</span></a> +<a name="435"><span class="lineNum"> 435 </span> :<span class="lineCov"> 4460 : found:</span></a> +<a name="436"><span class="lineNum"> 436 </span> :<span class="lineCov"> 4460 : assert(f->hdr.free);</span></a> +<a name="437"><span class="lineNum"> 437 </span> :<span class="lineCov"> 4460 : assert(!f->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(&region->free_list, &f->list);</span></a> -<a name="441"><span class="lineNum"> 441 </span> :<span class="lineCov"> 4457 : f->hdr.free = false;</span></a> -<a name="442"><span class="lineNum"> 442 </span> :<span class="lineCov"> 4457 : f->hdr.location = location;</span></a> +<a name="440"><span class="lineNum"> 440 </span> :<span class="lineCov"> 4460 : list_del_from(&region->free_list, &f->list);</span></a> +<a name="441"><span class="lineNum"> 441 </span> :<span class="lineCov"> 4460 : f->hdr.free = false;</span></a> +<a name="442"><span class="lineNum"> 442 </span> :<span class="lineCov"> 4460 : f->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, &f->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"> 4460 : next = next_hdr(region, &f->hdr);</span></a> +<a name="445"><span class="lineNum"> 445 </span> :<span class="lineCov"> 4460 : if (next) {</span></a> <a name="446"><span class="lineNum"> 446 </span> :<span class="lineCov"> 65 : assert(next->prev_free);</span></a> <a name="447"><span class="lineNum"> 447 </span> :<span class="lineCov"> 65 : next->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"> 4460 : if (offset != 0) {</span></a> +<a name="451"><span class="lineNum"> 451 </span> :<span class="lineCov"> 16 : 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 >= pre + 1);</span></a> +<a name="453"><span class="lineNum"> 453 </span> :<span class="lineCov"> 16 : f = (void *)f + offset * sizeof(long);</span></a> +<a name="454"><span class="lineNum"> 454 </span> :<span class="lineCov"> 16 : assert(f >= 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->hdr.num_longs = pre->hdr.num_longs - offset;</span></a> +<a name="457"><span class="lineNum"> 457 </span> :<span class="lineCov"> 16 : f->hdr.num_longs = pre->hdr.num_longs - offset;</span></a> <a name="458"><span class="lineNum"> 458 </span> : : /* f->hdr.prev_free will be set by make_free below. */</a> -<a name="459"><span class="lineNum"> 459 </span> :<span class="lineCov"> 13 : f->hdr.free = false;</span></a> -<a name="460"><span class="lineNum"> 460 </span> :<span class="lineCov"> 13 : f->hdr.location = location;</span></a> +<a name="459"><span class="lineNum"> 459 </span> :<span class="lineCov"> 16 : f->hdr.free = false;</span></a> +<a name="460"><span class="lineNum"> 460 </span> :<span class="lineCov"> 16 : f->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->hdr.num_longs = offset;</span></a> -<a name="464"><span class="lineNum"> 464 </span> :<span class="lineCov"> 13 : pre->hdr.prev_free = false;</span></a> +<a name="463"><span class="lineNum"> 463 </span> :<span class="lineCov"> 16 : pre->hdr.num_longs = offset;</span></a> +<a name="464"><span class="lineNum"> 464 </span> :<span class="lineCov"> 16 : pre->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"> 16 : 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, &f->hdr, alloc_longs, location, true);</span></a> +<a name="471"><span class="lineNum"> 471 </span> :<span class="lineCov"> 4460 : discard_excess(region, &f->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"> 4460 : *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 &f->hdr + 1;</span></a> +<a name="477"><span class="lineNum"> 477 </span> :<span class="lineCov"> 4460 : return &f->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"> 4464 : 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(&region->free_list_lock));</span></a> +<a name="486"><span class="lineNum"> 486 </span> :<span class="lineCov"> 4464 : assert(lock_held_by_me(&region->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"> 4464 : r = __mem_alloc(region, size, align, location);</span></a> +<a name="489"><span class="lineNum"> 489 </span> :<span class="lineCov"> 4464 : if (r)</span></a> +<a name="490"><span class="lineNum"> 490 </span> :<span class="lineCov"> 4460 : 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("mem_alloc(0x%lx, 0x%lx, \"%s\", %s) failed !\n",</span></a> <a name="493"><span class="lineNum"> 493 </span> : : size, align, location, region->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"> 300 : 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(&region->free_list_lock));</span></a> +<a name="509"><span class="lineNum"> 509 </span> :<span class="lineCov"> 300 : assert(lock_held_by_me(&region->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"> 300 : 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 >= region_start(region) + sizeof(*hdr));</span></a> -<a name="517"><span class="lineNum"> 517 </span> :<span class="lineCov"> 296 : assert(mem < region_start(region) + region->len);</span></a> +<a name="516"><span class="lineNum"> 516 </span> :<span class="lineCov"> 299 : assert(mem >= region_start(region) + sizeof(*hdr));</span></a> +<a name="517"><span class="lineNum"> 517 </span> :<span class="lineCov"> 299 : assert(mem < region_start(region) + region->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"> 299 : 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->free)</span></a> +<a name="522"><span class="lineNum"> 522 </span> :<span class="lineCov"> 299 : if (hdr->free)</span></a> <a name="523"><span class="lineNum"> 523 </span> :<span class="lineNoCov"> 0 : bad_header(region, hdr, "re-freed", 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"> 299 : 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"> 131266 : 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"> 131266 : size_t frees = 0;</span></a> +<a name="593"><span class="lineNum"> 593 </span> :<span class="lineCov"> 131266 : 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->start % sizeof(long)) {</span></a> +<a name="597"><span class="lineNum"> 597 </span> :<span class="lineCov"> 131266 : if (region->start % sizeof(long)) {</span></a> <a name="598"><span class="lineNum"> 598 </span> :<span class="lineNoCov"> 0 : prerror("Region '%s' not sanely aligned (%llx)\n",</span></a> <a name="599"><span class="lineNum"> 599 </span> : : region->name, (unsigned long long)region->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->len % sizeof(long)) {</span></a> +<a name="602"><span class="lineNum"> 602 </span> :<span class="lineCov"> 131266 : if ((long)region->len % sizeof(long)) {</span></a> <a name="603"><span class="lineNum"> 603 </span> :<span class="lineNoCov"> 0 : prerror("Region '%s' not sane length (%llu)\n",</span></a> <a name="604"><span class="lineNum"> 604 </span> : : region->name, (unsigned long long)region->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->type == REGION_MEMORY ||</span></a> -<a name="610"><span class="lineNum"> 610 </span> :<span class="lineCov"> 131253 : region->type == REGION_SKIBOOT_HEAP) ||</span></a> -<a name="611"><span class="lineNum"> 611 </span> :<span class="lineCov"> 131242 : region->free_list.n.next == NULL)</span></a> +<a name="609"><span class="lineNum"> 609 </span> :<span class="lineCov"> 131266 : if (!(region->type == REGION_MEMORY ||</span></a> +<a name="610"><span class="lineNum"> 610 </span> :<span class="lineCov"> 131259 : region->type == REGION_SKIBOOT_HEAP) ||</span></a> +<a name="611"><span class="lineNum"> 611 </span> :<span class="lineCov"> 131248 : region->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->num_longs < ALLOC_MIN_LONGS) {</span></a> +<a name="615"><span class="lineNum"> 615 </span> :<span class="lineCov"> 402784 : for (hdr = region_start(region); hdr; hdr = next_hdr(region, hdr)) {</span></a> +<a name="616"><span class="lineNum"> 616 </span> :<span class="lineCov"> 271548 : if (hdr->num_longs < ALLOC_MIN_LONGS) {</span></a> <a name="617"><span class="lineNum"> 617 </span> :<span class="lineNoCov"> 0 : prerror("Region '%s' %s %p (%s) size %zu\n",</span></a> <a name="618"><span class="lineNum"> 618 </span> : : region->name, hdr->free ? "free" : "alloc",</a> <a name="619"><span class="lineNum"> 619 </span> : : hdr, hdr_location(hdr),</a> <a name="620"><span class="lineNum"> 620 </span> : : hdr->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->num_longs * sizeof(long) ></span></a> -<a name="624"><span class="lineNum"> 624 </span> :<span class="lineCov"> 271530 : region->start + region->len) {</span></a> +<a name="623"><span class="lineNum"> 623 </span> :<span class="lineCov"> 271548 : if ((unsigned long)hdr + hdr->num_longs * sizeof(long) ></span></a> +<a name="624"><span class="lineNum"> 624 </span> :<span class="lineCov"> 271548 : region->start + region->len) {</span></a> <a name="625"><span class="lineNum"> 625 </span> :<span class="lineNoCov"> 0 : prerror("Region '%s' %s %p (%s) oversize %zu\n",</span></a> <a name="626"><span class="lineNum"> 626 </span> : : region->name, hdr->free ? "free" : "alloc",</a> <a name="627"><span class="lineNum"> 627 </span> : : hdr, hdr_location(hdr),</a> <a name="628"><span class="lineNum"> 628 </span> : : hdr->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->free) {</span></a> -<a name="632"><span class="lineNum"> 632 </span> :<span class="lineCov"> 131173 : if (hdr->prev_free || prev_free) {</span></a> +<a name="631"><span class="lineNum"> 631 </span> :<span class="lineCov"> 271548 : if (hdr->free) {</span></a> +<a name="632"><span class="lineNum"> 632 </span> :<span class="lineCov"> 131182 : if (hdr->prev_free || prev_free) {</span></a> <a name="633"><span class="lineNum"> 633 </span> :<span class="lineNoCov"> 0 : prerror("Region '%s' free %p (%s) has prev_free"</span></a> <a name="634"><span class="lineNum"> 634 </span> : : " %p (%s) %sset?\n",</a> <a name="635"><span class="lineNum"> 635 </span> : : region->name, hdr, hdr_location(hdr),</a> @@ -710,30 +710,30 @@ <a name="639"><span class="lineNum"> 639 </span> : : hdr->prev_free ? "" : "un");</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->start;</span></a> +<a name="642"><span class="lineNum"> 642 </span> :<span class="lineCov"> 131182 : prev_free = hdr;</span></a> +<a name="643"><span class="lineNum"> 643 </span> :<span class="lineCov"> 131182 : frees ^= (unsigned long)hdr - region->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->prev_free != (bool)prev_free) {</span></a> +<a name="645"><span class="lineNum"> 645 </span> :<span class="lineCov"> 140366 : if (hdr->prev_free != (bool)prev_free) {</span></a> <a name="646"><span class="lineNum"> 646 </span> :<span class="lineNoCov"> 0 : prerror("Region '%s' alloc %p (%s) has"</span></a> <a name="647"><span class="lineNum"> 647 </span> : : " prev_free %p %sset?\n",</a> <a name="648"><span class="lineNum"> 648 </span> : : region->name, hdr, hdr_location(hdr),</a> <a name="649"><span class="lineNum"> 649 </span> : : prev_free, hdr->prev_free ? "" : "un");</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"> 140366 : 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(&region->free_list, f, list)</span></a> -<a name="658"><span class="lineNum"> 658 </span> :<span class="lineCov"> 131173 : frees ^= (unsigned long)f - region->start;</span></a> +<a name="657"><span class="lineNum"> 657 </span> :<span class="lineCov"> 262418 : list_for_each(&region->free_list, f, list)</span></a> +<a name="658"><span class="lineNum"> 658 </span> :<span class="lineCov"> 131182 : frees ^= (unsigned long)f - region->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"> 131236 : if (frees) {</span></a> <a name="661"><span class="lineNum"> 661 </span> :<span class="lineNoCov"> 0 : prerror("Region '%s' free list and walk do not match!\n",</span></a> <a name="662"><span class="lineNum"> 662 </span> : : region->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"> 131236 : 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> @@ -748,118 +748,118 @@ <a name="677"><span class="lineNum"> 677 </span> :<span class="lineNoCov"> 0 : return true;</span></a> <a name="678"><span class="lineNum"> 678 </span> : : }</a> <a name="679"><span class="lineNum"> 679 </span> : : </a> -<a name="680"><span class="lineNum"> 680 </span> :<span class="lineCov"> 105 : static struct mem_region *new_region(const char *name,</span></a> +<a name="680"><span class="lineNum"> 680 </span> :<span class="lineCov"> 91 : static struct mem_region *new_region(const char *name,</span></a> <a name="681"><span class="lineNum"> 681 </span> : : uint64_t start, uint64_t len,</a> <a name="682"><span class="lineNum"> 682 </span> : : struct dt_node *node,</a> <a name="683"><span class="lineNum"> 683 </span> : : enum mem_region_type type)</a> <a name="684"><span class="lineNum"> 684 </span> : : {</a> <a name="685"><span class="lineNum"> 685 </span> : : struct mem_region *region;</a> <a name="686"><span class="lineNum"> 686 </span> : : </a> -<a name="687"><span class="lineNum"> 687 </span> :<span class="lineCov"> 105 : region = malloc(sizeof(*region));</span></a> -<a name="688"><span class="lineNum"> 688 </span> :<span class="lineCov"> 105 : if (!region)</span></a> +<a name="687"><span class="lineNum"> 687 </span> :<span class="lineCov"> 91 : region = malloc(sizeof(*region));</span></a> +<a name="688"><span class="lineNum"> 688 </span> :<span class="lineCov"> 91 : if (!region)</span></a> <a name="689"><span class="lineNum"> 689 </span> :<span class="lineNoCov"> 0 : return NULL;</span></a> <a name="690"><span class="lineNum"> 690 </span> : : </a> -<a name="691"><span class="lineNum"> 691 </span> :<span class="lineCov"> 105 : region->name = name;</span></a> -<a name="692"><span class="lineNum"> 692 </span> :<span class="lineCov"> 105 : region->start = start;</span></a> -<a name="693"><span class="lineNum"> 693 </span> :<span class="lineCov"> 105 : region->len = len;</span></a> -<a name="694"><span class="lineNum"> 694 </span> :<span class="lineCov"> 105 : region->node = node;</span></a> -<a name="695"><span class="lineNum"> 695 </span> :<span class="lineCov"> 105 : region->type = type;</span></a> -<a name="696"><span class="lineNum"> 696 </span> :<span class="lineCov"> 105 : region->free_list.n.next = NULL;</span></a> -<a name="697"><span class="lineNum"> 697 </span> :<span class="lineCov"> 105 : init_lock(&region->free_list_lock);</span></a> +<a name="691"><span class="lineNum"> 691 </span> :<span class="lineCov"> 91 : region->name = name;</span></a> +<a name="692"><span class="lineNum"> 692 </span> :<span class="lineCov"> 91 : region->start = start;</span></a> +<a name="693"><span class="lineNum"> 693 </span> :<span class="lineCov"> 91 : region->len = len;</span></a> +<a name="694"><span class="lineNum"> 694 </span> :<span class="lineCov"> 91 : region->node = node;</span></a> +<a name="695"><span class="lineNum"> 695 </span> :<span class="lineCov"> 91 : region->type = type;</span></a> +<a name="696"><span class="lineNum"> 696 </span> :<span class="lineCov"> 91 : region->free_list.n.next = NULL;</span></a> +<a name="697"><span class="lineNum"> 697 </span> :<span class="lineCov"> 91 : init_lock(&region->free_list_lock);</span></a> <a name="698"><span class="lineNum"> 698 </span> : : </a> -<a name="699"><span class="lineNum"> 699 </span> :<span class="lineCov"> 105 : return region;</span></a> +<a name="699"><span class="lineNum"> 699 </span> :<span class="lineCov"> 91 : return region;</span></a> <a name="700"><span class="lineNum"> 700 </span> : : }</a> <a name="701"><span class="lineNum"> 701 </span> : : </a> <a name="702"><span class="lineNum"> 702 </span> : : /* We always split regions, so we only have to replace one. */</a> -<a name="703"><span class="lineNum"> 703 </span> :<span class="lineCov"> 46 : static struct mem_region *split_region(struct mem_region *head,</span></a> +<a name="703"><span class="lineNum"> 703 </span> :<span class="lineCov"> 37 : static struct mem_region *split_region(struct mem_region *head,</span></a> <a name="704"><span class="lineNum"> 704 </span> : : uint64_t split_at,</a> <a name="705"><span class="lineNum"> 705 </span> : : enum mem_region_type type)</a> <a name="706"><span class="lineNum"> 706 </span> : : {</a> <a name="707"><span class="lineNum"> 707 </span> : : struct mem_region *tail;</a> -<a name="708"><span class="lineNum"> 708 </span> :<span class="lineCov"> 46 : uint64_t end = head->start + head->len;</span></a> +<a name="708"><span class="lineNum"> 708 </span> :<span class="lineCov"> 37 : uint64_t end = head->start + head->len;</span></a> <a name="709"><span class="lineNum"> 709 </span> : : </a> -<a name="710"><span class="lineNum"> 710 </span> :<span class="lineCov"> 46 : tail = new_region(head->name, split_at, end - split_at,</span></a> +<a name="710"><span class="lineNum"> 710 </span> :<span class="lineCov"> 37 : tail = new_region(head->name, split_at, end - split_at,</span></a> <a name="711"><span class="lineNum"> 711 </span> : : head->node, type);</a> <a name="712"><span class="lineNum"> 712 </span> : : /* Original region becomes head. */</a> -<a name="713"><span class="lineNum"> 713 </span> :<span class="lineCov"> 46 : if (tail)</span></a> -<a name="714"><span class="lineNum"> 714 </span> :<span class="lineCov"> 46 : head->len -= tail->len;</span></a> +<a name="713"><span class="lineNum"> 713 </span> :<span class="lineCov"> 37 : if (tail)</span></a> +<a name="714"><span class="lineNum"> 714 </span> :<span class="lineCov"> 37 : head->len -= tail->len;</span></a> <a name="715"><span class="lineNum"> 715 </span> : : </a> -<a name="716"><span class="lineNum"> 716 </span> :<span class="lineCov"> 46 : return tail;</span></a> +<a name="716"><span class="lineNum"> 716 </span> :<span class="lineCov"> 37 : return tail;</span></a> <a name="717"><span class="lineNum"> 717 </span> : : }</a> <a name="718"><span class="lineNum"> 718 </span> : : </a> -<a name="719"><span class="lineNum"> 719 </span> :<span class="lineCov"> 1204 : static bool intersects(const struct mem_region *region, uint64_t addr)</span></a> +<a name="719"><span class="lineNum"> 719 </span> :<span class="lineCov"> 1094 : static bool intersects(const struct mem_region *region, uint64_t addr)</span></a> <a name="720"><span class="lineNum"> 720 </span> : : {</a> -<a name="721"><span class="lineNum"> 721 </span> :<span class="lineCov"> 1710 : return addr > region->start &&</span></a> -<a name="722"><span class="lineNum"> 722 </span> :<span class="lineCov"> 506 : addr < region->start + region->len;</span></a> +<a name="721"><span class="lineNum"> 721 </span> :<span class="lineCov"> 1530 : return addr > region->start &&</span></a> +<a name="722"><span class="lineNum"> 722 </span> :<span class="lineCov"> 436 : addr < region->start + region->len;</span></a> <a name="723"><span class="lineNum"> 723 </span> : : }</a> <a name="724"><span class="lineNum"> 724 </span> : : </a> -<a name="725"><span class="lineNum"> 725 </span> :<span class="lineCov"> 1204 : static bool maybe_split(struct mem_region *r, uint64_t split_at)</span></a> +<a name="725"><span class="lineNum"> 725 </span> :<span class="lineCov"> 1094 : static bool maybe_split(struct mem_region *r, uint64_t split_at)</span></a> <a name="726"><span class="lineNum"> 726 </span> : : {</a> <a name="727"><span class="lineNum"> 727 </span> : : struct mem_region *tail;</a> <a name="728"><span class="lineNum"> 728 </span> : : </a> -<a name="729"><span class="lineNum"> 729 </span> :<span class="lineCov"> 1204 : if (!intersects(r, split_at))</span></a> -<a name="730"><span class="lineNum"> 730 </span> :<span class="lineCov"> 1159 : return true;</span></a> +<a name="729"><span class="lineNum"> 729 </span> :<span class="lineCov"> 1094 : if (!intersects(r, split_at))</span></a> +<a name="730"><span class="lineNum"> 730 </span> :<span class="lineCov"> 1058 : return true;</span></a> <a name="731"><span class="lineNum"> 731 </span> : : </a> -<a name="732"><span class="lineNum"> 732 </span> :<span class="lineCov"> 45 : tail = split_region(r, split_at, r->type);</span></a> -<a name="733"><span class="lineNum"> 733 </span> :<span class="lineCov"> 45 : if (!tail)</span></a> +<a name="732"><span class="lineNum"> 732 </span> :<span class="lineCov"> 36 : tail = split_region(r, split_at, r->type);</span></a> +<a name="733"><span class="lineNum"> 733 </span> :<span class="lineCov"> 36 : if (!tail)</span></a> <a name="734"><span class="lineNum"> 734 </span> :<span class="lineNoCov"> 0 : return false;</span></a> <a name="735"><span class="lineNum"> 735 </span> : : </a> <a name="736"><span class="lineNum"> 736 </span> : : /* Tail add is important: we may need to split again! */</a> -<a name="737"><span class="lineNum"> 737 </span> :<span class="lineCov"> 45 : list_add_after(&regions, &r->list, &tail->list);</span></a> -<a name="738"><span class="lineNum"> 738 </span> :<span class="lineCov"> 45 : return true;</span></a> +<a name="737"><span class="lineNum"> 737 </span> :<span class="lineCov"> 36 : list_add_after(&regions, &r->list, &tail->list);</span></a> +<a name="738"><span class="lineNum"> 738 </span> :<span class="lineCov"> 36 : return true;</span></a> <a name="739"><span class="lineNum"> 739 </span> : : }</a> <a name="740"><span class="lineNum"> 740 </span> : : </a> -<a name="741"><span class="lineNum"> 741 </span> :<span class="lineCov"> 1399 : static bool overlaps(const struct mem_region *r1, const struct mem_region *r2)</span></a> +<a name="741"><span class="lineNum"> 741 </span> :<span class="lineCov"> 1258 : static bool overlaps(const struct mem_region *r1, const struct mem_region *r2)</span></a> <a name="742"><span class="lineNum"> 742 </span> : : {</a> -<a name="743"><span class="lineNum"> 743 </span> :<span class="lineCov"> 1399 : return (r1->start + r1->len > r2->start</span></a> -<a name="744"><span class="lineNum"> 744 </span> :<span class="lineCov"> 1399 : && r1->start < r2->start + r2->len);</span></a> +<a name="743"><span class="lineNum"> 743 </span> :<span class="lineCov"> 1258 : return (r1->start + r1->len > r2->start</span></a> +<a name="744"><span class="lineNum"> 744 </span> :<span class="lineCov"> 1258 : && r1->start < r2->start + r2->len);</span></a> <a name="745"><span class="lineNum"> 745 </span> : : }</a> <a name="746"><span class="lineNum"> 746 </span> : : </a> -<a name="747"><span class="lineNum"> 747 </span> :<span class="lineCov"> 50 : static bool contains(const struct mem_region *r1, const struct mem_region *r2)</span></a> +<a name="747"><span class="lineNum"> 747 </span> :<span class="lineCov"> 39 : static bool contains(const struct mem_region *r1, const struct mem_region *r2)</span></a> <a name="748"><span class="lineNum"> 748 </span> : : {</a> -<a name="749"><span class="lineNum"> 749 </span> :<span class="lineCov"> 50 : u64 r1_end = r1->start + r1->len;</span></a> -<a name="750"><span class="lineNum"> 750 </span> :<span class="lineCov"> 50 : u64 r2_end = r2->start + r2->len;</span></a> +<a name="749"><span class="lineNum"> 749 </span> :<span class="lineCov"> 39 : u64 r1_end = r1->start + r1->len;</span></a> +<a name="750"><span class="lineNum"> 750 </span> :<span class="lineCov"> 39 : u64 r2_end = r2->start + r2->len;</span></a> <a name="751"><span class="lineNum"> 751 </span> : : </a> -<a name="752"><span class="lineNum"> 752 </span> :<span class="lineCov"> 50 : return (r1->start <= r2->start && r2_end <= r1_end);</span></a> +<a name="752"><span class="lineNum"> 752 </span> :<span class="lineCov"> 39 : return (r1->start <= r2->start && r2_end <= r1_end);</span></a> <a name="753"><span class="lineNum"> 753 </span> : : }</a> <a name="754"><span class="lineNum"> 754 </span> : : </a> -<a name="755"><span class="lineNum"> 755 </span> :<span class="lineCov"> 168 : static struct mem_region *get_overlap(const struct mem_region *region)</span></a> +<a name="755"><span class="lineNum"> 755 </span> :<span class="lineCov"> 152 : static struct mem_region *get_overlap(const struct mem_region *region)</span></a> <a name="756"><span class="lineNum"> 756 </span> : : {</a> <a name="757"><span class="lineNum"> 757 </span> : : struct mem_region *i;</a> <a name="758"><span class="lineNum"> 758 </span> : : </a> -<a name="759"><span class="lineNum"> 759 </span> :<span class="lineCov"> 842 : list_for_each(&regions, i, list) {</span></a> -<a name="760"><span class="lineNum"> 760 </span> :<span class="lineCov"> 707 : if (overlaps(region, i))</span></a> -<a name="761"><span class="lineNum"> 761 </span> :<span class="lineCov"> 33 : return i;</span></a> +<a name="759"><span class="lineNum"> 759 </span> :<span class="lineCov"> 748 : list_for_each(&regions, i, list) {</span></a> +<a name="760"><span class="lineNum"> 760 </span> :<span class="lineCov"> 621 : if (overlaps(region, i))</span></a> +<a name="761"><span class="lineNum"> 761 </span> :<span class="lineCov"> 25 : return i;</span></a> <a name="762"><span class="lineNum"> 762 </span> : : }</a> -<a name="763"><span class="lineNum"> 763 </span> :<span class="lineCov"> 135 : return NULL;</span></a> +<a name="763"><span class="lineNum"> 763 </span> :<span class="lineCov"> 127 : return NULL;</span></a> <a name="764"><span class="lineNum"> 764 </span> : : }</a> <a name="765"><span class="lineNum"> 765 </span> : : </a> -<a name="766"><span class="lineNum"> 766 </span> :<span class="lineCov"> 158 : static void add_region_to_regions(struct mem_region *region)</span></a> +<a name="766"><span class="lineNum"> 766 </span> :<span class="lineCov"> 148 : static void add_region_to_regions(struct mem_region *region)</span></a> <a name="767"><span class="lineNum"> 767 </span> : : {</a> <a name="768"><span class="lineNum"> 768 </span> : : struct mem_region *r;</a> <a name="769"><span class="lineNum"> 769 </span> : : </a> -<a name="770"><span class="lineNum"> 770 </span> :<span class="lineCov"> 397 : list_for_each(&regions, r, list) {</span></a> -<a name="771"><span class="lineNum"> 771 </span> :<span class="lineCov"> 371 : if (r->start < region->start)</span></a> -<a name="772"><span class="lineNum"> 772 </span> :<span class="lineCov"> 239 : continue;</span></a> +<a name="770"><span class="lineNum"> 770 </span> :<span class="lineCov"> 355 : list_for_each(&regions, r, list) {</span></a> +<a name="771"><span class="lineNum"> 771 </span> :<span class="lineCov"> 331 : if (r->start < region->start)</span></a> +<a name="772"><span class="lineNum"> 772 </span> :<span class="lineCov"> 207 : continue;</span></a> <a name="773"><span class="lineNum"> 773 </span> : : </a> -<a name="774"><span class="lineNum"> 774 </span> :<span class="lineCov"> 132 : list_add_before(&regions, &r->list, &region->list);</span></a> -<a name="775"><span class="lineNum"> 775 </span> :<span class="lineCov"> 132 : return;</span></a> +<a name="774"><span class="lineNum"> 774 </span> :<span class="lineCov"> 124 : list_add_before(&regions, &r->list, &region->list);</span></a> +<a name="775"><span class="lineNum"> 775 </span> :<span class="lineCov"> 124 : return;</span></a> <a name="776"><span class="lineNum"> 776 </span> : : }</a> -<a name="777"><span class="lineNum"> 777 </span> :<span class="lineCov"> 26 : list_add_tail(&regions, &region->list);</span></a> +<a name="777"><span class="lineNum"> 777 </span> :<span class="lineCov"> 24 : list_add_tail(&regions, &region->list);</span></a> <a name="778"><span class="lineNum"> 778 </span> : : }</a> <a name="779"><span class="lineNum"> 779 </span> : : </a> -<a name="780"><span class="lineNum"> 780 </span> :<span class="lineCov"> 136 : static bool add_region(struct mem_region *region)</span></a> +<a name="780"><span class="lineNum"> 780 </span> :<span class="lineCov"> 128 : static bool add_region(struct mem_region *region)</span></a> <a name="781"><span class="lineNum"> 781 </span> : : {</a> <a name="782"><span class="lineNum"> 782 </span> : : struct mem_region *r;</a> <a name="783"><span class="lineNum"> 783 </span> : : </a> -<a name="784"><span class="lineNum"> 784 </span> :<span class="lineCov"> 136 : if (mem_regions_finalised) {</span></a> +<a name="784"><span class="lineNum"> 784 </span> :<span class="lineCov"> 128 : if (mem_regions_finalised) {</span></a> <a name="785"><span class="lineNum"> 785 </span> :<span class="lineCov"> 1 : prerror("MEM: add_region(%s@0x%"PRIx64") called after finalise!\n",</span></a> <a name="786"><span class="lineNum"> 786 </span> : : region->name, region->start);</a> <a name="787"><span class="lineNum"> 787 </span> :<span class="lineCov"> 1 : return false;</span></a> <a name="788"><span class="lineNum"> 788 </span> : : }</a> <a name="789"><span class="lineNum"> 789 </span> : : </a> <a name="790"><span class="lineNum"> 790 </span> : : /* First split any regions which intersect. */</a> -<a name="791"><span class="lineNum"> 791 </span> :<span class="lineCov"> 737 : list_for_each(&regions, r, list) {</span></a> +<a name="791"><span class="lineNum"> 791 </span> :<span class="lineCov"> 674 : list_for_each(&regions, r, list) {</span></a> <a name="792"><span class="lineNum"> 792 </span> : : /*</a> <a name="793"><span class="lineNum"> 793 </span> : : * The new region should be fully contained by an existing one.</a> <a name="794"><span class="lineNum"> 794 </span> : : * If it's not then we have a problem where reservations</a> @@ -868,7 +868,7 @@ <a name="797"><span class="lineNum"> 797 </span> : : * NB: There *might* be situations where this is legitimate,</a> <a name="798"><span class="lineNum"> 798 </span> : : * but the region handling does not currently support this.</a> <a name="799"><span class="lineNum"> 799 </span> : : */</a> -<a name="800"><span class="lineNum"> 800 </span> :<span class="lineCov"> 602 : if (overlaps(r, region) && !contains(r, region)) {</span></a> +<a name="800"><span class="lineNum"> 800 </span> :<span class="lineCov"> 547 : if (overlaps(r, region) && !contains(r, region)) {</span></a> <a name="801"><span class="lineNum"> 801 </span> :<span class="lineNoCov"> 0 : prerror("MEM: Partial overlap detected between regions:\n");</span></a> <a name="802"><span class="lineNum"> 802 </span> :<span class="lineNoCov"> 0 : prerror("MEM: %s [0x%"PRIx64"-0x%"PRIx64"] (new)\n",</span></a> <a name="803"><span class="lineNum"> 803 </span> : : region->name, region->start,</a> @@ -878,22 +878,22 @@ <a name="807"><span class="lineNum"> 807 </span> :<span class="lineNoCov"> 0 : return false;</span></a> <a name="808"><span class="lineNum"> 808 </span> : : }</a> <a name="809"><span class="lineNum"> 809 </span> : : </a> -<a name="810"><span class="lineNum"> 810 </span> :<span class="lineCov"> 602 : if (!maybe_split(r, region->start) ||</span></a> -<a name="811"><span class="lineNum"> 811 </span> :<span class="lineCov"> 602 : !maybe_split(r, region->start + region->len))</span></a> +<a name="810"><span class="lineNum"> 810 </span> :<span class="lineCov"> 547 : if (!maybe_split(r, region->start) ||</span></a> +<a name="811"><span class="lineNum"> 811 </span> :<span class="lineCov"> 547 : !maybe_split(r, region->start + region->len))</span></a> <a name="812"><span class="lineNum"> 812 </span> :<span class="lineNoCov"> 0 : return false;</span></a> <a name="813"><span class="lineNum"> 813 </span> : : }</a> <a name="814"><span class="lineNum"> 814 </span> : : </a> <a name="815"><span class="lineNum"> 815 </span> : : /* Now we have only whole overlaps, if any. */</a> -<a name="816"><span class="lineNum"> 816 </span> :<span class="lineCov"> 168 : while ((r = get_overlap(region)) != NULL) {</span></a> -<a name="817"><span class="lineNum"> 817 </span> :<span class="lineCov"> 33 : assert(r->start == region->start);</span></a> -<a name="818"><span class="lineNum"> 818 </span> :<span class="lineCov"> 33 : assert(r->len == region->len);</span></a> -<a name="819"><span class="lineNum"> 819 </span> :<span class="lineCov"> 33 : list_del_from(&regions, &r->list);</span></a> -<a name="820"><span class="lineNum"> 820 </span> :<span class="lineCov"> 33 : free(r);</span></a> +<a name="816"><span class="lineNum"> 816 </span> :<span class="lineCov"> 152 : while ((r = get_overlap(region)) != NULL) {</span></a> +<a name="817"><span class="lineNum"> 817 </span> :<span class="lineCov"> 25 : assert(r->start == region->start);</span></a> +<a name="818"><span class="lineNum"> 818 </span> :<span class="lineCov"> 25 : assert(r->len == region->len);</span></a> +<a name="819"><span class="lineNum"> 819 </span> :<span class="lineCov"> 25 : list_del_from(&regions, &r->list);</span></a> +<a name="820"><span class="lineNum"> 820 </span> :<span class="lineCov"> 25 : free(r);</span></a> <a name="821"><span class="lineNum"> 821 </span> : : }</a> <a name="822"><span class="lineNum"> 822 </span> : : </a> <a name="823"><span class="lineNum"> 823 </span> : : /* Finally, add in our own region. */</a> -<a name="824"><span class="lineNum"> 824 </span> :<span class="lineCov"> 135 : add_region_to_regions(region);</span></a> -<a name="825"><span class="lineNum"> 825 </span> :<span class="lineCov"> 135 : return true;</span></a> +<a name="824"><span class="lineNum"> 824 </span> :<span class="lineCov"> 127 : add_region_to_regions(region);</span></a> +<a name="825"><span class="lineNum"> 825 </span> :<span class="lineCov"> 127 : return true;</span></a> <a name="826"><span class="lineNum"> 826 </span> : : }</a> <a name="827"><span class="lineNum"> 827 </span> : : </a> <a name="828"><span class="lineNum"> 828 </span> :<span class="lineCov"> 25 : static void mem_reserve(enum mem_region_type type, const char *name,</span></a> @@ -1086,33 +1086,33 @@ <a name="1015"><span class="lineNum"> 1015 </span> :<span class="lineCov"> 6 : return false;</span></a> <a name="1016"><span class="lineNum"> 1016 </span> : : }</a> <a name="1017"><span class="lineNum"> 1017 </span> : : </a> -<a name="1018"><span class="lineNum"> 1018 </span> :<span class="lineCov"> 20 : static void mem_region_parse_reserved_properties(void)</span></a> +<a name="1018"><span class="lineNum"> 1018 </span> :<span class="lineCov"> 19 : static void mem_region_parse_reserved_properties(void)</span></a> <a name="1019"><span class="lineNum"> 1019 </span> : : {</a> <a name="1020"><span class="lineNum"> 1020 </span> : : const struct dt_property *names, *ranges;</a> <a name="1021"><span class="lineNum"> 1021 </span> : : struct mem_region *region;</a> <a name="1022"><span class="lineNum"> 1022 </span> : : </a> -<a name="1023"><span class="lineNum"> 1023 </span> :<span class="lineCov"> 20 : prlog(PR_DEBUG, "MEM: parsing reserved memory from "</span></a> +<a name="1023"><span class="lineNum"> 1023 </span> :<span class="lineCov"> 19 : prlog(PR_DEBUG, "MEM: parsing reserved memory from "</span></a> <a name="1024"><span class="lineNum"> 1024 </span> : : "reserved-names/-ranges properties\n");</a> <a name="1025"><span class="lineNum"> 1025 </span> : : </a> -<a name="1026"><span class="lineNum"> 1026 </span> :<span class="lineCov"> 20 : names = dt_find_property(dt_root, "reserved-names");</span></a> -<a name="1027"><span class="lineNum"> 1027 </span> :<span class="lineCov"> 20 : ranges = dt_find_property(dt_root, "reserved-ranges");</span></a> -<a name="1028"><span class="lineNum"> 1028 </span> :<span class="lineCov"> 22 : if (names && ranges) {</span></a> +<a name="1026"><span class="lineNum"> 1026 </span> :<span class="lineCov"> 19 : names = dt_find_property(dt_root, "reserved-names");</span></a> +<a name="1027"><span class="lineNum"> 1027 </span> :<span class="lineCov"> 19 : ranges = dt_find_property(dt_root, "reserved-ranges");</span></a> +<a name="1028"><span class="lineNum"> 1028 </span> :<span class="lineCov"> 20 : if (names && ranges) {</span></a> <a name="1029"><span class="lineNum"> 1029 </span> : : const uint64_t *range;</a> <a name="1030"><span class="lineNum"> 1030 </span> : : int n, len;</a> <a name="1031"><span class="lineNum"> 1031 </span> : : </a> -<a name="1032"><span class="lineNum"> 1032 </span> :<span class="lineCov"> 2 : range = (const void *)ranges->prop;</span></a> +<a name="1032"><span class="lineNum"> 1032 </span> :<span class="lineCov"> 1 : range = (const void *)ranges->prop;</span></a> <a name="1033"><span class="lineNum"> 1033 </span> : : </a> -<a name="1034"><span class="lineNum"> 1034 </span> :<span class="lineCov"> 8 : for (n = 0; n < names->len; n += len, range += 2) {</span></a> +<a name="1034"><span class="lineNum"> 1034 </span> :<span class="lineCov"> 4 : for (n = 0; n < names->len; n += len, range += 2) {</span></a> <a name="1035"><span class="lineNum"> 1035 </span> : : char *name;</a> <a name="1036"><span class="lineNum"> 1036 </span> : : </a> -<a name="1037"><span class="lineNum"> 1037 </span> :<span class="lineCov"> 6 : len = strlen(names->prop + n) + 1;</span></a> -<a name="1038"><span class="lineNum"> 1038 </span> :<span class="lineCov"> 6 : name = strdup(names->prop + n);</span></a> +<a name="1037"><span class="lineNum"> 1037 </span> :<span class="lineCov"> 3 : len = strlen(names->prop + n) + 1;</span></a> +<a name="1038"><span class="lineNum"> 1038 </span> :<span class="lineCov"> 3 : name = strdup(names->prop + n);</span></a> <a name="1039"><span class="lineNum"> 1039 </span> : : </a> -<a name="1040"><span class="lineNum"> 1040 </span> :<span class="lineCov"> 6 : region = new_region(name,</span></a> +<a name="1040"><span class="lineNum"> 1040 </span> :<span class="lineCov"> 3 : region = new_region(name,</span></a> <a name="1041"><span class="lineNum"> 1041 </span> : : dt_get_number(range, 2),</a> -<a name="1042"><span class="lineNum"> 1042 </span> :<span class="lineCov"> 6 : dt_get_number(range + 1, 2),</span></a> +<a name="1042"><span class="lineNum"> 1042 </span> :<span class="lineCov"> 3 : dt_get_number(range + 1, 2),</span></a> <a name="1043"><span class="lineNum"> 1043 </span> : : NULL, REGION_FW_RESERVED);</a> -<a name="1044"><span class="lineNum"> 1044 </span> :<span class="lineCov"> 6 : if (!add_region(region)) {</span></a> +<a name="1044"><span class="lineNum"> 1044 </span> :<span class="lineCov"> 3 : if (!add_region(region)) {</span></a> <a name="1045"><span class="lineNum"> 1045 </span> :<span class="lineNoCov"> 0 : prerror("Couldn't add mem_region %s\n", name);</span></a> <a name="1046"><span class="lineNum"> 1046 </span> :<span class="lineNoCov"> 0 : abort();</span></a> <a name="1047"><span class="lineNum"> 1047 </span> : : }</a> @@ -1127,13 +1127,13 @@ <a name="1056"><span class="lineNum"> 1056 </span> : : }</a> <a name="1057"><span class="lineNum"> 1057 </span> : : }</a> <a name="1058"><span class="lineNum"> 1058 </span> : : </a> -<a name="1059"><span class="lineNum"> 1059 </span> :<span class="lineCov"> 40 : static bool mem_region_parse_reserved_nodes(const char *path)</span></a> +<a name="1059"><span class="lineNum"> 1059 </span> :<span class="lineCov"> 38 : static bool mem_region_parse_reserved_nodes(const char *path)</span></a> <a name="1060"><span class="lineNum"> 1060 </span> : : {</a> <a name="1061"><span class="lineNum"> 1061 </span> : : struct dt_node *parent, *node;</a> <a name="1062"><span class="lineNum"> 1062 </span> : : </a> -<a name="1063"><span class="lineNum"> 1063 </span> :<span class="lineCov"> 40 : parent = dt_find_by_path(dt_root, path);</span></a> -<a name="1064"><span class="lineNum"> 1064 </span> :<span class="lineCov"> 40 : if (!parent)</span></a> -<a name="1065"><span class="lineNum"> 1065 </span> :<span class="lineCov"> 40 : return false;</span></a> +<a name="1063"><span class="lineNum"> 1063 </span> :<span class="lineCov"> 38 : parent = dt_find_by_path(dt_root, path);</span></a> +<a name="1064"><span class="lineNum"> 1064 </span> :<span class="lineCov"> 38 : if (!parent)</span></a> +<a name="1065"><span class="lineNum"> 1065 </span> :<span class="lineCov"> 38 : return false;</span></a> <a name="1066"><span class="lineNum"> 1066 </span> : : </a> <a name="1067"><span class="lineNum"> 1067 </span> :<span class="lineNoCov"> 0 : prlog(PR_INFO, "MEM: parsing reserved memory from node %s\n", path);</span></a> <a name="1068"><span class="lineNum"> 1068 </span> : : </a> @@ -1171,7 +1171,7 @@ <a name="1100"><span class="lineNum"> 1100 </span> : : }</a> <a name="1101"><span class="lineNum"> 1101 </span> : : </a> <a name="1102"><span class="lineNum"> 1102 </span> : : /* Trawl through device tree, create memory regions from nodes. */</a> -<a name="1103"><span class="lineNum"> 1103 </span> :<span class="lineCov"> 20 : void mem_region_init(void)</span></a> +<a name="1103"><span class="lineNum"> 1103 </span> :<span class="lineCov"> 19 : void mem_region_init(void)</span></a> <a name="1104"><span class="lineNum"> 1104 </span> : : {</a> <a name="1105"><span class="lineNum"> 1105 </span> : : struct mem_region *region, *next;</a> <a name="1106"><span class="lineNum"> 1106 </span> : : struct dt_node *i;</a> @@ -1182,59 +1182,59 @@ <a name="1111"><span class="lineNum"> 1111 </span> : : * to avoid recursive locking caused by allocations</a> <a name="1112"><span class="lineNum"> 1112 </span> : : * done by add_chip_dev_associativity()</a> <a name="1113"><span class="lineNum"> 1113 </span> : : */</a> -<a name="1114"><span class="lineNum"> 1114 </span> :<span class="lineCov"> 274 : dt_for_each_node(dt_root, i) {</span></a> -<a name="1115"><span class="lineNum"> 1115 </span> :<span class="lineCov"> 254 : if (!dt_has_node_property(i, "device_type", "memory") &&</span></a> -<a name="1116"><span class="lineNum"> 1116 </span> :<span class="lineCov"> 231 : !dt_has_node_property(i, "compatible", "pmem-region"))</span></a> -<a name="1117"><span class="lineNum"> 1117 </span> :<span class="lineCov"> 231 : continue;</span></a> +<a name="1114"><span class="lineNum"> 1114 </span> :<span class="lineCov"> 118 : dt_for_each_node(dt_root, i) {</span></a> +<a name="1115"><span class="lineNum"> 1115 </span> :<span class="lineCov"> 99 : if (!dt_has_node_property(i, "device_type", "memory") &&</span></a> +<a name="1116"><span class="lineNum"> 1116 </span> :<span class="lineCov"> 78 : !dt_has_node_property(i, "compatible", "pmem-region"))</span></a> +<a name="1117"><span class="lineNum"> 1117 </span> :<span class="lineCov"> 78 : continue;</span></a> <a name="1118"><span class="lineNum"> 1118 </span> : : </a> <a name="1119"><span class="lineNum"> 1119 </span> : : /* Add associativity properties */</a> -<a name="1120"><span class="lineNum"> 1120 </span> :<span class="lineCov"> 23 : add_chip_dev_associativity(i);</span></a> +<a name="1120"><span class="lineNum"> 1120 </span> :<span class="lineCov"> 21 : add_chip_dev_associativity(i);</span></a> <a name="1121"><span class="lineNum"> 1121 </span> : : }</a> <a name="1122"><span class="lineNum"> 1122 </span> : : </a> <a name="1123"><span class="lineNum"> 1123 </span> : : /* Add each memory node. */</a> -<a name="1124"><span class="lineNum"> 1124 </span> :<span class="lineCov"> 274 : dt_for_each_node(dt_root, i) {</span></a> +<a name="1124"><span class="lineNum"> 1124 </span> :<span class="lineCov"> 118 : dt_for_each_node(dt_root, i) {</span></a> <a name="1125"><span class="lineNum"> 1125 </span> : : uint64_t start, len;</a> <a name="1126"><span class="lineNum"> 1126 </span> : : char *rname;</a> <a name="1127"><span class="lineNum"> 1127 </span> : : #define NODE_REGION_PREFIX "ibm,firmware-allocs-"</a> <a name="1128"><span class="lineNum"> 1128 </span> : : </a> -<a name="1129"><span class="lineNum"> 1129 </span> :<span class="lineCov"> 254 : if (!dt_has_node_property(i, "device_type", "memory"))</span></a> -<a name="1130"><span class="lineNum"> 1130 </span> :<span class="lineCov"> 231 : continue;</span></a> -<a name="1131"><span class="lineNum"> 1131 </span> :<span class="lineCov"> 23 : rname = zalloc(strlen(i->name) + strlen(NODE_REGION_PREFIX) + 1);</span></a> -<a name="1132"><span class="lineNum"> 1132 </span> :<span class="lineCov"> 23 : assert(rname);</span></a> -<a name="1133"><span class="lineNum"> 1133 </span> :<span class="lineCov"> 23 : strcat(rname, NODE_REGION_PREFIX);</span></a> -<a name="1134"><span class="lineNum"> 1134 </span> :<span class="lineCov"> 23 : strcat(rname, i->name);</span></a> -<a name="1135"><span class="lineNum"> 1135 </span> :<span class="lineCov"> 23 : start = dt_get_address(i, 0, &len);</span></a> -<a name="1136"><span class="lineNum"> 1136 </span> :<span class="lineCov"> 23 : lock(&mem_region_lock);</span></a> -<a name="1137"><span class="lineNum"> 1137 </span> :<span class="lineCov"> 23 : region = new_region(rname, start, len, i, REGION_MEMORY);</span></a> -<a name="1138"><span class="lineNum"> 1138 </span> :<span class="lineCov"> 23 : if (!region) {</span></a> +<a name="1129"><span class="lineNum"> 1129 </span> :<span class="lineCov"> 99 : if (!dt_has_node_property(i, "device_type", "memory"))</span></a> +<a name="1130"><span class="lineNum"> 1130 </span> :<span class="lineCov"> 78 : continue;</span></a> +<a name="1131"><span class="lineNum"> 1131 </span> :<span class="lineCov"> 21 : rname = zalloc(strlen(i->name) + strlen(NODE_REGION_PREFIX) + 1);</span></a> +<a name="1132"><span class="lineNum"> 1132 </span> :<span class="lineCov"> 21 : assert(rname);</span></a> +<a name="1133"><span class="lineNum"> 1133 </span> :<span class="lineCov"> 21 : strcat(rname, NODE_REGION_PREFIX);</span></a> +<a name="1134"><span class="lineNum"> 1134 </span> :<span class="lineCov"> 21 : strcat(rname, i->name);</span></a> +<a name="1135"><span class="lineNum"> 1135 </span> :<span class="lineCov"> 21 : start = dt_get_address(i, 0, &len);</span></a> +<a name="1136"><span class="lineNum"> 1136 </span> :<span class="lineCov"> 21 : lock(&mem_region_lock);</span></a> +<a name="1137"><span class="lineNum"> 1137 </span> :<span class="lineCov"> 21 : region = new_region(rname, start, len, i, REGION_MEMORY);</span></a> +<a name="1138"><span class="lineNum"> 1138 </span> :<span class="lineCov"> 21 : if (!region) {</span></a> <a name="1139"><span class="lineNum"> 1139 </span> :<span class="lineNoCov"> 0 : prerror("MEM: Could not add mem region %s!\n", i->name);</span></a> <a name="1140"><span class="lineNum"> 1140 </span> :<span class="lineNoCov"> 0 : abort();</span></a> <a name="1141"><span class="lineNum"> 1141 </span> : : }</a> -<a name="1142"><span class="lineNum"> 1142 </span> :<span class="lineCov"> 23 : add_region_to_regions(region);</span></a> -<a name="1143"><span class="lineNum"> 1143 </span> :<span class="lineCov"> 23 : if ((start + len) > top_of_ram)</span></a> -<a name="1144"><span class="lineNum"> 1144 </span> :<span class="lineCov"> 10 : top_of_ram = start + len;</span></a> -<a name="1145"><span class="lineNum"> 1145 </span> :<span class="lineCov"> 23 : unlock(&mem_region_lock);</span></a> +<a name="1142"><span class="lineNum"> 1142 </span> :<span class="lineCov"> 21 : add_region_to_regions(region);</span></a> +<a name="1143"><span class="lineNum"> 1143 </span> :<span class="lineCov"> 21 : if ((start + len) > top_of_ram)</span></a> +<a name="1144"><span class="lineNum"> 1144 </span> :<span class="lineCov"> 8 : top_of_ram = start + len;</span></a> +<a name="1145"><span class="lineNum"> 1145 </span> :<span class="lineCov"> 21 : unlock(&mem_region_lock);</span></a> <a name="1146"><span class="lineNum"> 1146 </span> : : }</a> <a name="1147"><span class="lineNum"> 1147 </span> : : </a> <a name="1148"><span class="lineNum"> 1148 </span> : : /*</a> <a name="1149"><span class="lineNum"> 1149 </span> : : * This is called after we know the maximum PIR of all CPUs,</a> <a name="1150"><span class="lineNum"> 1150 </span> : : * so we can dynamically set the stack length.</a> <a name="1151"><span class="lineNum"> 1151 </span> : : */</a> -<a name="1152"><span class="lineNum"> 1152 </span> :<span class="lineCov"> 20 : skiboot_cpu_stacks.len = (cpu_max_pir + 1) * STACK_SIZE;</span></a> +<a name="1152"><span class="lineNum"> 1152 </span> :<span class="lineCov"> 19 : skiboot_cpu_stacks.len = (cpu_max_pir + 1) * STACK_SIZE;</span></a> <a name="1153"><span class="lineNum"> 1153 </span> : : </a> -<a name="1154"><span class="lineNum"> 1154 </span> :<span class="lineCov"> 20 : lock(&mem_region_lock);</span></a> +<a name="1154"><span class="lineNum"> 1154 </span> :<span class="lineCov"> 19 : lock(&mem_region_lock);</span></a> <a name="1155"><span class="lineNum"> 1155 </span> : : </a> <a name="1156"><span class="lineNum"> 1156 </span> : : /* Now carve out our own reserved areas. */</a> -<a name="1157"><span class="lineNum"> 1157 </span> :<span class="lineCov"> 20 : if (!add_region(&skiboot_os_reserve) ||</span></a> -<a name="1158"><span class="lineNum"> 1158 </span> :<span class="lineCov"> 20 : !add_region(&skiboot_code_and_text) ||</span></a> -<a name="1159"><span class="lineNum"> 1159 </span> :<span class="lineCov"> 20 : !add_region(&skiboot_heap) ||</span></a> -<a name="1160"><span class="lineNum"> 1160 </span> :<span class="lineCov"> 20 : !add_region(&skiboot_after_heap) ||</span></a> -<a name="1161"><span class="lineNum"> 1161 </span> :<span class="lineCov"> 20 : !add_region(&skiboot_cpu_stacks)) {</span></a> +<a name="1157"><span class="lineNum"> 1157 </span> :<span class="lineCov"> 19 : if (!add_region(&skiboot_os_reserve) ||</span></a> +<a name="1158"><span class="lineNum"> 1158 </span> :<span class="lineCov"> 19 : !add_region(&skiboot_code_and_text) ||</span></a> +<a name="1159"><span class="lineNum"> 1159 </span> :<span class="lineCov"> 19 : !add_region(&skiboot_heap) ||</span></a> +<a name="1160"><span class="lineNum"> 1160 </span> :<span class="lineCov"> 19 : !add_region(&skiboot_after_heap) ||</span></a> +<a name="1161"><span class="lineNum"> 1161 </span> :<span class="lineCov"> 19 : !add_region(&skiboot_cpu_stacks)) {</span></a> <a name="1162"><span class="lineNum"> 1162 </span> :<span class="lineNoCov"> 0 : prerror("Out of memory adding skiboot reserved areas\n");</span></a> <a name="1163"><span class="lineNum"> 1163 </span> :<span class="lineNoCov"> 0 : abort();</span></a> <a name="1164"><span class="lineNum"> 1164 </span> : : }</a> <a name="1165"><span class="lineNum"> 1165 </span> : : </a> -<a name="1166"><span class="lineNum"> 1166 </span> :<span class="lineCov"> 20 : if (chip_quirk(QUIRK_MAMBO_CALLOUTS)) {</span></a> +<a name="1166"><span class="lineNum"> 1166 </span> :<span class="lineCov"> 19 : if (chip_quirk(QUIRK_MAMBO_CALLOUTS)) {</span></a> <a name="1167"><span class="lineNum"> 1167 </span> :<span class="lineNoCov"> 0 : if (!add_region(&skiboot_mambo_kernel) ||</span></a> <a name="1168"><span class="lineNum"> 1168 </span> :<span class="lineNoCov"> 0 : !add_region(&skiboot_mambo_initramfs)) {</span></a> <a name="1169"><span class="lineNum"> 1169 </span> :<span class="lineNoCov"> 0 : prerror("Out of memory adding mambo payload\n");</span></a> @@ -1243,7 +1243,7 @@ <a name="1172"><span class="lineNum"> 1172 </span> : : }</a> <a name="1173"><span class="lineNum"> 1173 </span> : : </a> <a name="1174"><span class="lineNum"> 1174 </span> : : /* Add reserved reanges from HDAT */</a> -<a name="1175"><span class="lineNum"> 1175 </span> :<span class="lineCov"> 23 : list_for_each_safe(&early_reserves, region, next, list) {</span></a> +<a name="1175"><span class="lineNum"> 1175 </span> :<span class="lineCov"> 22 : list_for_each_safe(&early_reserves, region, next, list) {</span></a> <a name="1176"><span class="lineNum"> 1176 </span> : : bool added;</a> <a name="1177"><span class="lineNum"> 1177 </span> : : </a> <a name="1178"><span class="lineNum"> 1178 </span> :<span class="lineCov"> 3 : list_del(&region->list);</span></a> @@ -1252,24 +1252,24 @@ <a name="1181"><span class="lineNum"> 1181 </span> : : }</a> <a name="1182"><span class="lineNum"> 1182 </span> : : </a> <a name="1183"><span class="lineNum"> 1183 </span> : : /* Add reserved ranges from the DT */</a> -<a name="1184"><span class="lineNum"> 1184 </span> :<span class="lineCov"> 20 : rc = mem_region_parse_reserved_nodes("/reserved-memory");</span></a> -<a name="1185"><span class="lineNum"> 1185 </span> :<span class="lineCov"> 20 : if (!rc)</span></a> -<a name="1186"><span class="lineNum"> 1186 </span> :<span class="lineCov"> 20 : rc = mem_region_parse_reserved_nodes(</span></a> +<a name="1184"><span class="lineNum"> 1184 </span> :<span class="lineCov"> 19 : rc = mem_region_parse_reserved_nodes("/reserved-memory");</span></a> +<a name="1185"><span class="lineNum"> 1185 </span> :<span class="lineCov"> 19 : if (!rc)</span></a> +<a name="1186"><span class="lineNum"> 1186 </span> :<span class="lineCov"> 19 : rc = mem_region_parse_reserved_nodes(</span></a> <a name="1187"><span class="lineNum"> 1187 </span> : : "/ibm,hostboot/reserved-memory");</a> -<a name="1188"><span class="lineNum"> 1188 </span> :<span class="lineCov"> 20 : if (!rc)</span></a> -<a name="1189"><span class="lineNum"> 1189 </span> :<span class="lineCov"> 20 : mem_region_parse_reserved_properties();</span></a> +<a name="1188"><span class="lineNum"> 1188 </span> :<span class="lineCov"> 19 : if (!rc)</span></a> +<a name="1189"><span class="lineNum"> 1189 </span> :<span class="lineCov"> 19 : mem_region_parse_reserved_properties();</span></a> <a name="1190"><span class="lineNum"> 1190 </span> : : </a> -<a name="1191"><span class="lineNum"> 1191 </span> :<span class="lineCov"> 20 : mem_region_init_done = true;</span></a> -<a name="1192"><span class="lineNum"> 1192 </span> :<span class="lineCov"> 20 : unlock(&mem_region_lock);</span></a> -<a name="1193"><span class="lineNum"> 1193 </span> :<span class="lineCov"> 20 : }</span></a> +<a name="1191"><span class="lineNum"> 1191 </span> :<span class="lineCov"> 19 : mem_region_init_done = true;</span></a> +<a name="1192"><span class="lineNum"> 1192 </span> :<span class="lineCov"> 19 : unlock(&mem_region_lock);</span></a> +<a name="1193"><span class="lineNum"> 1193 </span> :<span class="lineCov"> 19 : }</span></a> <a name="1194"><span class="lineNum"> 1194 </span> : : </a> -<a name="1195"><span class="lineNum"> 1195 </span> :<span class="lineCov"> 16 : static uint64_t allocated_length(const struct mem_region *r)</span></a> +<a name="1195"><span class="lineNum"> 1195 </span> :<span class="lineCov"> 12 : static uint64_t allocated_length(const struct mem_region *r)</span></a> <a name="1196"><span class="lineNum"> 1196 </span> : : {</a> -<a name="1197"><span class="lineNum"> 1197 </span> :<span class="lineCov"> 16 : struct free_hdr *f, *last = NULL;</span></a> +<a name="1197"><span class="lineNum"> 1197 </span> :<span class="lineCov"> 12 : struct free_hdr *f, *last = NULL;</span></a> <a name="1198"><span class="lineNum"> 1198 </span> : : </a> <a name="1199"><span class="lineNum"> 1199 </span> : : /* No allocations at all? */</a> -<a name="1200"><span class="lineNum"> 1200 </span> :<span class="lineCov"> 16 : if (r->free_list.n.next == NULL)</span></a> -<a name="1201"><span class="lineNum"> 1201 </span> :<span class="lineCov"> 14 : return 0;</span></a> +<a name="1200"><span class="lineNum"> 1200 </span> :<span class="lineCov"> 12 : if (r->free_list.n.next == NULL)</span></a> +<a name="1201"><span class="lineNum"> 1201 </span> :<span class="lineCov"> 10 : return 0;</span></a> <a name="1202"><span class="lineNum"> 1202 </span> : : </a> <a name="1203"><span class="lineNum"> 1203 </span> : : /* Find last free block. */</a> <a name="1204"><span class="lineNum"> 1204 </span> :<span class="lineCov"> 6 : list_for_each(&r->free_list, f, list)</span></a> @@ -1287,34 +1287,34 @@ <a name="1216"><span class="lineNum"> 1216 </span> : : }</a> <a name="1217"><span class="lineNum"> 1217 </span> : : </a> <a name="1218"><span class="lineNum"> 1218 </span> : : /* Separate out allocated sections into their own region. */</a> -<a name="1219"><span class="lineNum"> 1219 </span> :<span class="lineCov"> 5 : void mem_region_release_unused(void)</span></a> +<a name="1219"><span class="lineNum"> 1219 </span> :<span class="lineCov"> 4 : void mem_region_release_unused(void)</span></a> <a name="1220"><span class="lineNum"> 1220 </span> : : {</a> <a name="1221"><span class="lineNum"> 1221 </span> : : struct mem_region *r;</a> <a name="1222"><span class="lineNum"> 1222 </span> : : </a> -<a name="1223"><span class="lineNum"> 1223 </span> :<span class="lineCov"> 5 : lock(&mem_region_lock);</span></a> -<a name="1224"><span class="lineNum"> 1224 </span> :<span class="lineCov"> 5 : assert(!mem_regions_finalised);</span></a> +<a name="1223"><span class="lineNum"> 1223 </span> :<span class="lineCov"> 4 : lock(&mem_region_lock);</span></a> +<a name="1224"><span class="lineNum"> 1224 </span> :<span class="lineCov"> 4 : assert(!mem_regions_finalised);</span></a> <a name="1225"><span class="lineNum"> 1225 </span> : : </a> -<a name="1226"><span class="lineNum"> 1226 </span> :<span class="lineCov"> 5 : prlog(PR_INFO, "Releasing unused memory:\n");</span></a> -<a name="1227"><span class="lineNum"> 1227 </span> :<span class="lineCov"> 55 : list_for_each(&regions, r, list) {</span></a> +<a name="1226"><span class="lineNum"> 1226 </span> :<span class="lineCov"> 4 : prlog(PR_INFO, "Releasing unused memory:\n");</span></a> +<a name="1227"><span class="lineNum"> 1227 </span> :<span class="lineCov"> 43 : list_for_each(&regions, r, list) {</span></a> <a name="1228"><span class="lineNum"> 1228 </span> : : uint64_t used_len;</a> <a name="1229"><span class="lineNum"> 1229 </span> : : </a> <a name="1230"><span class="lineNum"> 1230 </span> : : /* If it's not allocatable, ignore it. */</a> -<a name="1231"><span class="lineNum"> 1231 </span> :<span class="lineCov"> 50 : if (!(r->type == REGION_SKIBOOT_HEAP ||</span></a> -<a name="1232"><span class="lineNum"> 1232 </span> :<span class="lineCov"> 45 : r->type == REGION_MEMORY))</span></a> -<a name="1233"><span class="lineNum"> 1233 </span> :<span class="lineCov"> 34 : continue;</span></a> +<a name="1231"><span class="lineNum"> 1231 </span> :<span class="lineCov"> 39 : if (!(r->type == REGION_SKIBOOT_HEAP ||</span></a> +<a name="1232"><span class="lineNum"> 1232 </span> :<span class="lineCov"> 35 : r->type == REGION_MEMORY))</span></a> +<a name="1233"><span class="lineNum"> 1233 </span> :<span class="lineCov"> 27 : continue;</span></a> <a name="1234"><span class="lineNum"> 1234 </span> : : </a> -<a name="1235"><span class="lineNum"> 1235 </span> :<span class="lineCov"> 16 : used_len = allocated_length(r);</span></a> +<a name="1235"><span class="lineNum"> 1235 </span> :<span class="lineCov"> 12 : used_len = allocated_length(r);</span></a> <a name="1236"><span class="lineNum"> 1236 </span> : : </a> -<a name="1237"><span class="lineNum"> 1237 </span> :<span class="lineCov"> 16 : prlog(PR_INFO, " %s: %llu/%llu used\n",</span></a> +<a name="1237"><span class="lineNum"> 1237 </span> :<span class="lineCov"> 12 : prlog(PR_INFO, " %s: %llu/%llu used\n",</span></a> <a name="1238"><span class="lineNum"> 1238 </span> : : r->name, (long long)used_len, (long long)r->len);</a> <a name="1239"><span class="lineNum"> 1239 </span> : : </a> <a name="1240"><span class="lineNum"> 1240 </span> : : /* We keep the skiboot heap. */</a> -<a name="1241"><span class="lineNum"> 1241 </span> :<span class="lineCov"> 16 : if (r == &skiboot_heap)</span></a> -<a name="1242"><span class="lineNum"> 1242 </span> :<span class="lineCov"> 5 : continue;</span></a> +<a name="1241"><span class="lineNum"> 1241 </span> :<span class="lineCov"> 12 : if (r == &skiboot_heap)</span></a> +<a name="1242"><span class="lineNum"> 1242 </span> :<span class="lineCov"> 4 : continue;</span></a> <a name="1243"><span class="lineNum"> 1243 </span> : : </a> <a name="1244"><span class="lineNum"> 1244 </span> : : /* Nothing used? Whole thing is for Linux. */</a> -<a name="1245"><span class="lineNum"> 1245 </span> :<span class="lineCov"> 11 : if (used_len == 0)</span></a> -<a name="1246"><span class="lineNum"> 1246 </span> :<span class="lineCov"> 10 : r->type = REGION_OS;</span></a> +<a name="1245"><span class="lineNum"> 1245 </span> :<span class="lineCov"> 8 : if (used_len == 0)</span></a> +<a name="1246"><span class="lineNum"> 1246 </span> :<span class="lineCov"> 7 : r->type = REGION_OS;</span></a> <a name="1247"><span class="lineNum"> 1247 </span> : : /* Partially used? Split region. */</a> <a name="1248"><span class="lineNum"> 1248 </span> :<span class="lineCov"> 1 : else if (used_len != r->len) {</span></a> <a name="1249"><span class="lineNum"> 1249 </span> : : struct mem_region *for_linux;</a> @@ -1333,8 +1333,8 @@ <a name="1262"><span class="lineNum"> 1262 </span> :<span class="lineCov"> 1 : list_add(&regions, &for_linux->list);</span></a> <a name="1263"><span class="lineNum"> 1263 </span> : : }</a> <a name="1264"><span class="lineNum"> 1264 </span> : : }</a> -<a name="1265"><span class="lineNum"> 1265 </span> :<span class="lineCov"> 5 : unlock(&mem_region_lock);</span></a> -<a name="1266"><span class="lineNum"> 1266 </span> :<span class="lineCov"> 5 : }</span></a> +<a name="1265"><span class="lineNum"> 1265 </span> :<span class="lineCov"> 4 : unlock(&mem_region_lock);</span></a> +<a name="1266"><span class="lineNum"> 1266 </span> :<span class="lineCov"> 4 : }</span></a> <a name="1267"><span class="lineNum"> 1267 </span> : : </a> <a name="1268"><span class="lineNum"> 1268 </span> :<span class="lineNoCov"> 0 : static void mem_clear_range(uint64_t s, uint64_t e)</span></a> <a name="1269"><span class="lineNum"> 1269 </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 c2eb9f3..8d21b6a 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 af02ea5..ff1b826 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 109e9d3..507398f 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 5eb3460..a314d9d 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 9f6d441..3c0d01f 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 c92594d..d3eb402 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 13752e0..01f937d 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 2c96b99..b3ea171 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 6d15a89..a91190a 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 fcaf6ee..bd2efb1 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 4642da8..e28b789 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 353dc2f..df4ae38 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 556d6ea..ba8ccfd 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 230fabb..1d0e37e 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 e5c3e26..d257fab 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 3e2814d..3670609 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 19a9ba1..b1664be 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 0aa723d..6916dda 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 2511d69..9e1a2ee 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">138</td> @@ -82,170 +82,206 @@ <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="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=98 height=10 alt="97.8%"><img src="../../snow.png" width=2 height=10 alt="97.8%"></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.8 %</td> - <td class="coverNumHi">88 / 90</td> - <td class="coverPerMed">80.0 %</td> - <td class="coverNumMed">4 / 5</td> + <td class="coverPerHi">100.0 %</td> + <td class="coverNumHi">21 / 21</td> + <td class="coverPerHi">100.0 %</td> + <td class="coverNumHi">3 / 3</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-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="../../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=100 height=10 alt="100.0%"></td></tr></table> </td> - <td class="coverPerLo">31.2 %</td> - <td class="coverNumLo">5 / 16</td> - <td class="coverPerLo">16.7 %</td> - <td class="coverNumLo">1 / 6</td> + <td class="coverPerHi">100.0 %</td> + <td class="coverNumHi">13 / 13</td> + <td class="coverPerHi">100.0 %</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-console-log.c.gcov.html">run-console-log.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=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.1%"><img src="../../snow.png" width=2 height=10 alt="98.1%"></td></tr></table> </td> + <td class="coverPerHi">98.1 %</td> + <td class="coverNumHi">153 / 156</td> <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">21 / 21</td> - <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">3 / 3</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-mem_region_next.c.gcov.html">run-mem_region_next.c</a></td> + <td class="coverFile"><a href="run-pci-quirk.c.gcov.html">run-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=70 height=10 alt="70.4%"><img src="../../snow.png" width=30 height=10 alt="70.4%"></td></tr></table> + </td> + <td class="coverPerLo">70.4 %</td> + <td class="coverNumLo">19 / 27</td> + <td class="coverPerLo">33.3 %</td> + <td class="coverNumLo">2 / 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 %</td> - <td class="coverNumHi">41 / 41</td> + <td class="coverNumHi">28 / 28</td> <td class="coverPerHi">100.0 %</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-mem_region.c.gcov.html">run-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=99 height=10 alt="99.3%"><img src="../../snow.png" width=1 height=10 alt="99.3%"></td></tr></table> + </td> + <td class="coverPerHi">99.3 %</td> + <td class="coverNumHi">136 / 137</td> + <td class="coverPerHi">100.0 %</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-flash-firmware-versions.c.gcov.html">run-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.1%"><img src="../../snow.png" width=19 height=10 alt="81.1%"></td></tr></table> + </td> + <td class="coverPerMed">81.1 %</td> + <td class="coverNumMed">30 / 37</td> + <td class="coverPerMed">75.0 %</td> + <td class="coverNumMed">6 / 8</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="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 %</td> - <td class="coverNumHi">38 / 38</td> + <td class="coverNumHi">14 / 14</td> <td class="coverPerHi">100.0 %</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-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 %</td> - <td class="coverNumHi">13 / 13</td> + <td class="coverNumHi">91 / 91</td> <td class="coverPerHi">100.0 %</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="run-pool.c.gcov.html">run-pool.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 %</td> - <td class="coverNumHi">20 / 20</td> + <td class="coverNumHi">95 / 95</td> <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">1 / 1</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-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 %</td> - <td class="coverNumHi">52 / 52</td> + <td class="coverNumHi">27 / 27</td> <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">3 / 3</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-mem_region.c.gcov.html">run-mem_region.c</a></td> + <td class="coverFile"><a href="run-buddy.c.gcov.html">run-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=99 height=10 alt="99.3%"><img src="../../snow.png" width=1 height=10 alt="99.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">99.3 %</td> - <td class="coverNumHi">136 / 137</td> <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">7 / 7</td> + <td class="coverNumHi">44 / 44</td> + <td class="coverPerHi">100.0 %</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-flash-subpartition.c.gcov.html">run-flash-subpartition.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 %</td> - <td class="coverNumHi">14 / 14</td> + <td class="coverNumHi">20 / 20</td> <td class="coverPerHi">100.0 %</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-console-log-buf-overrun.c.gcov.html">run-console-log-buf-overrun.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 %</td> - <td class="coverNumHi">29 / 29</td> + <td class="coverNumHi">80 / 80</td> <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">3 / 3</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-pr_fmt.c.gcov.html">run-console-log-pr_fmt.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 %</td> - <td class="coverNumHi">21 / 21</td> + <td class="coverNumHi">20 / 20</td> <td class="coverPerHi">100.0 %</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-timer.c.gcov.html">run-timer.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 %</td> - <td class="coverNumHi">27 / 27</td> + <td class="coverNumHi">21 / 21</td> <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">7 / 7</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-pci-quirk.c.gcov.html">run-pci-quirk.c</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="../../ruby.png" width=70 height=10 alt="70.4%"><img src="../../snow.png" width=30 height=10 alt="70.4%"></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">70.4 %</td> - <td class="coverNumLo">19 / 27</td> - <td class="coverPerLo">33.3 %</td> - <td class="coverNumLo">2 / 6</td> + <td class="coverPerLo">31.2 %</td> + <td class="coverNumLo">5 / 16</td> + <td class="coverPerLo">16.7 %</td> + <td class="coverNumLo">1 / 6</td> <td class="coverPerHi">-</td> <td class="coverNumHi">0 / 0</td> </tr> @@ -262,62 +298,62 @@ <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-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 %</td> - <td class="coverNumHi">26 / 26</td> + <td class="coverNumHi">90 / 90</td> <td class="coverPerHi">100.0 %</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-mem_region_reservations.c.gcov.html">run-mem_region_reservations.c</a></td> + <td class="coverFile"><a href="run-mem_region_release_unused.c.gcov.html">run-mem_region_release_unused.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=96 height=10 alt="96.3%"><img src="../../snow.png" width=4 height=10 alt="96.3%"></td></tr></table> </td> - <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">90 / 90</td> - <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">10 / 10</td> + <td class="coverPerHi">96.3 %</td> + <td class="coverNumHi">79 / 82</td> + <td class="coverPerHi">90.0 %</td> + <td class="coverNumHi">9 / 10</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="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 %</td> - <td class="coverNumHi">28 / 28</td> + <td class="coverNumHi">29 / 29</td> <td class="coverPerHi">100.0 %</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_range_is_reserved.c.gcov.html">run-mem_range_is_reserved.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="../../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="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table> </td> - <td class="coverPerMed">89.5 %</td> - <td class="coverNumMed">51 / 57</td> <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">9 / 9</td> + <td class="coverNumHi">26 / 26</td> + <td class="coverPerHi">100.0 %</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_release_unused_noalloc.c.gcov.html">run-mem_region_release_unused_noalloc.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=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="97.8%"><img src="../../snow.png" width=2 height=10 alt="97.8%"></td></tr></table> </td> - <td class="coverPerHi">93.9 %</td> - <td class="coverNumHi">62 / 66</td> + <td class="coverPerHi">97.8 %</td> + <td class="coverNumHi">88 / 90</td> <td class="coverPerMed">80.0 %</td> - <td class="coverNumMed">8 / 10</td> + <td class="coverNumMed">4 / 5</td> <td class="coverPerHi">-</td> <td class="coverNumHi">0 / 0</td> </tr> @@ -334,50 +370,26 @@ <td class="coverNumHi">0 / 0</td> </tr> <tr> - <td class="coverFile"><a href="run-buddy.c.gcov.html">run-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> - </td> - <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">44 / 44</td> - <td class="coverPerHi">100.0 %</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-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 %</td> - <td class="coverNumHi">91 / 91</td> - <td class="coverPerHi">100.0 %</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.c.gcov.html">run-malloc.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 %</td> - <td class="coverNumHi">95 / 95</td> + <td class="coverNumHi">41 / 41</td> <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">7 / 7</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_init.c.gcov.html">run-mem_region_init.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="../../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="93.9%"><img src="../../snow.png" width=6 height=10 alt="93.9%"></td></tr></table> </td> - <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">80 / 80</td> - <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">9 / 9</td> + <td class="coverPerHi">93.9 %</td> + <td class="coverNumHi">62 / 66</td> + <td class="coverPerMed">80.0 %</td> + <td class="coverNumMed">8 / 10</td> <td class="coverPerHi">-</td> <td class="coverNumHi">0 / 0</td> </tr> @@ -394,50 +406,38 @@ <td class="coverNumHi">0 / 0</td> </tr> <tr> - <td class="coverFile"><a href="run-flash-firmware-versions.c.gcov.html">run-flash-firmware-versions.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=81 height=10 alt="81.1%"><img src="../../snow.png" width=19 height=10 alt="81.1%"></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">81.1 %</td> - <td class="coverNumMed">30 / 37</td> - <td class="coverPerMed">75.0 %</td> - <td class="coverNumMed">6 / 8</td> + <td class="coverPerMed">89.5 %</td> + <td class="coverNumMed">51 / 57</td> + <td class="coverPerHi">100.0 %</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-timebase.c.gcov.html">run-timebase.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 %</td> - <td class="coverNumHi">20 / 20</td> + <td class="coverNumHi">52 / 52</td> <td class="coverPerHi">100.0 %</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="run-msg.c.gcov.html">run-msg.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.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 %</td> - <td class="coverNumHi">153 / 156</td> <td class="coverPerHi">100.0 %</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-mem_region_release_unused.c.gcov.html">run-mem_region_release_unused.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> - </td> - <td class="coverPerHi">96.3 %</td> - <td class="coverNumHi">79 / 82</td> - <td class="coverPerHi">90.0 %</td> - <td class="coverNumHi">9 / 10</td> + <td class="coverNumHi">38 / 38</td> + <td class="coverPerHi">100.0 %</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 db7d69c..1601e75 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">138</td> @@ -178,24 +178,24 @@ <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-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 %</td> - <td class="coverNumHi">38 / 38</td> + <td class="coverNumHi">13 / 13</td> <td class="coverPerHi">100.0 %</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 %</td> - <td class="coverNumHi">13 / 13</td> + <td class="coverNumHi">14 / 14</td> <td class="coverPerHi">100.0 %</td> <td class="coverNumHi">1 / 1</td> <td class="coverPerHi">-</td> @@ -214,12 +214,12 @@ <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-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 %</td> - <td class="coverNumHi">14 / 14</td> + <td class="coverNumHi">20 / 20</td> <td class="coverPerHi">100.0 %</td> <td class="coverNumHi">1 / 1</td> <td class="coverPerHi">-</td> @@ -238,12 +238,12 @@ <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-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 %</td> - <td class="coverNumHi">20 / 20</td> + <td class="coverNumHi">38 / 38</td> <td class="coverPerHi">100.0 %</td> <td class="coverNumHi">1 / 1</td> <td class="coverPerHi">-</td> @@ -274,108 +274,108 @@ <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 %</td> - <td class="coverNumHi">52 / 52</td> + <td class="coverNumHi">91 / 91</td> <td class="coverPerHi">100.0 %</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-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 %</td> - <td class="coverNumHi">29 / 29</td> + <td class="coverNumHi">21 / 21</td> <td class="coverPerHi">100.0 %</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-pr_fmt.c.gcov.html">run-console-log-pr_fmt.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 %</td> - <td class="coverNumHi">21 / 21</td> + <td class="coverNumHi">29 / 29</td> <td class="coverPerHi">100.0 %</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-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 %</td> - <td class="coverNumHi">91 / 91</td> + <td class="coverNumHi">52 / 52</td> <td class="coverPerHi">100.0 %</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_next.c.gcov.html">run-mem_region_next.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 %</td> - <td class="coverNumHi">41 / 41</td> + <td class="coverNumHi">28 / 28</td> <td class="coverPerHi">100.0 %</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="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=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.3%"><img src="../../snow.png" width=2 height=10 alt="98.3%"></td></tr></table> </td> - <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">28 / 28</td> + <td class="coverPerHi">98.3 %</td> + <td class="coverNumHi">288 / 293</td> <td class="coverPerHi">100.0 %</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-device.c.gcov.html">run-device.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=98 height=10 alt="98.3%"><img src="../../snow.png" width=2 height=10 alt="98.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">98.3 %</td> - <td class="coverNumHi">288 / 293</td> + <td class="coverPerHi">100.0 %</td> + <td class="coverNumHi">41 / 41</td> <td class="coverPerHi">100.0 %</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.c.gcov.html">run-mem_region.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=99 height=10 alt="99.3%"><img src="../../snow.png" width=1 height=10 alt="99.3%"></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">99.3 %</td> - <td class="coverNumHi">136 / 137</td> + <td class="coverPerHi">98.1 %</td> + <td class="coverNumHi">153 / 156</td> <td class="coverPerHi">100.0 %</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-timer.c.gcov.html">run-timer.c</a></td> + <td class="coverFile"><a href="run-mem_region.c.gcov.html">run-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="../../emerald.png" width=99 height=10 alt="99.3%"><img src="../../snow.png" width=1 height=10 alt="99.3%"></td></tr></table> </td> - <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">27 / 27</td> + <td class="coverPerHi">99.3 %</td> + <td class="coverNumHi">136 / 137</td> <td class="coverPerHi">100.0 %</td> <td class="coverNumHi">7 / 7</td> <td class="coverPerHi">-</td> @@ -394,36 +394,36 @@ <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-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=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 %</td> - <td class="coverNumHi">153 / 156</td> + <td class="coverPerHi">100.0 %</td> + <td class="coverNumHi">27 / 27</td> <td class="coverPerHi">100.0 %</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-mem_range_is_reserved.c.gcov.html">run-mem_range_is_reserved.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="../../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="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table> </td> - <td class="coverPerMed">89.5 %</td> - <td class="coverNumMed">51 / 57</td> + <td class="coverPerHi">100.0 %</td> + <td class="coverNumHi">80 / 80</td> <td class="coverPerHi">100.0 %</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-mem_region_init.c.gcov.html">run-mem_region_init.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="../../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="coverPerHi">100.0 %</td> - <td class="coverNumHi">80 / 80</td> + <td class="coverPerMed">89.5 %</td> + <td class="coverNumMed">51 / 57</td> <td class="coverPerHi">100.0 %</td> <td class="coverNumHi">9 / 9</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 709510b..cf99434 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">138</td> diff --git a/coverage-report/core/test/index.html b/coverage-report/core/test/index.html index 8d28c54..d13ba35 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 99d521c..8014655 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 123501e..7910d36 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 6fdea06..c3e6f13 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 a06d697..afa7d04 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 e3475ed..2b7502a 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 e02fcfb..ba09bef 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 6e5329c..3b46de7 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 cf0e35f..3276666 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 2035a4a..990b04e 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 a4302f9..5dcdb4f 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 82e81eb..de40d6b 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 84ddd4e..4c4c10f 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 a524b81..c146b61 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 1ceb927..7d5e5f0 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 eced0a2..5b63c13 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 146eba6..ea7b72e 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 299bf37..13109d0 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 2e8035c..052af6f 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 963099c..afd774c 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 c8ce5ca..0427a27 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 5636c8a..2aedf2d 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 30f274f..aff726d 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 ae52b3f..74dda62 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 162ebf7..cb3dc50 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 006a480..fbd35b8 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 b496c1b..19343fb 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 3513a18..1712da7 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 50866af..50aa87a 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 e182d91..9b40181 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 740a681..b631347 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 07b0506..3b11875 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 5721c66..46fd40c 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 8f1571b..418b717 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 642299b..71d87c5 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 fda211a..421a978 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 a7e9df7..ba5077c 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 0b21558..f4adf6c 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 2b073e9..fbde58f 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 5c850e4..6224e03 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 3d8d1cf..6f7d259 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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">131340</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 647e95e..b0a289e 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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">131340</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 57f6e98..50f9062 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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->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"> 131340 : 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->lock_val;</span></a> +<a name="64"><span class="lineNum"> 64 </span> :<span class="lineCov"> 131340 : return l->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(&skiboot_heap, 1, 1, "small");</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(&skiboot_heap, 1, 1ULL << i, "here");</span></a> -<a name="114"><span class="lineNum"> 114 </span> :<span class="lineCov"> 18 : assert(mem_check(&skiboot_heap));</span></a> +<a name="113"><span class="lineNum"> 113 </span> :<span class="lineCov"> 21 : p = mem_alloc(&skiboot_heap, 1, 1ULL << i, "here");</span></a> +<a name="114"><span class="lineNum"> 114 </span> :<span class="lineCov"> 21 : assert(mem_check(&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"> 21 : if (!p) {</span></a> <a name="117"><span class="lineNum"> 117 </span> :<span class="lineCov"> 1 : assert(i >= 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 << i) == 0);</span></a> -<a name="122"><span class="lineNum"> 122 </span> :<span class="lineCov"> 17 : assert(p > (void *)test_heap);</span></a> -<a name="123"><span class="lineNum"> 123 </span> :<span class="lineCov"> 17 : assert(p + 1 <= (void *)test_heap + TEST_HEAP_SIZE);</span></a> -<a name="124"><span class="lineNum"> 124 </span> :<span class="lineCov"> 17 : mem_free(&skiboot_heap, p, "freed");</span></a> -<a name="125"><span class="lineNum"> 125 </span> :<span class="lineCov"> 17 : assert(mem_check(&skiboot_heap));</span></a> +<a name="120"><span class="lineNum"> 120 </span> :<span class="lineCov"> 20 : assert(p);</span></a> +<a name="121"><span class="lineNum"> 121 </span> :<span class="lineCov"> 20 : assert((long)p % (1ULL << i) == 0);</span></a> +<a name="122"><span class="lineNum"> 122 </span> :<span class="lineCov"> 20 : assert(p > (void *)test_heap);</span></a> +<a name="123"><span class="lineNum"> 123 </span> :<span class="lineCov"> 20 : assert(p + 1 <= (void *)test_heap + TEST_HEAP_SIZE);</span></a> +<a name="124"><span class="lineNum"> 124 </span> :<span class="lineCov"> 20 : mem_free(&skiboot_heap, p, "freed");</span></a> +<a name="125"><span class="lineNum"> 125 </span> :<span class="lineCov"> 20 : assert(mem_check(&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(&skiboot_heap, ptrs[0], "small freed");</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 e661745..22e7b30 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 dcf2317..1cadd29 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 4d9f95f..e1288c7 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 d3630e3..cbcf01c 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 16f59d2..de6b47b 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 da99851..2e91b22 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 a18cd4f..4ffb2ee 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 5b07cf7..d30fcbe 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 1b0ec49..2d007ac 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 b7bbace..90f8e4d 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 8436a58..8c66ffe 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 b64750e..366a12f 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 f959a91..9de7403 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 6d30fad..bede926 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 9bcb950..43a032b 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 4415d9f..008bbc4 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 8af99bd..a529bc7 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 5f1c234..6a277dc 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 e1b95f2..05f2c9e 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 dbff1ab..5be0ba4 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 8e8fa21..aa24181 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 cb66848..9b2a83d 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 cda34aa..0b345ef 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 9bdbd46..e6ee6d0 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 b92bc28..85a3d56 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 7bf7a22..6132ec0 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 00f0864..c9ecc5a 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 6384cb4..66d8f79 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 c941f57..5d5bd7a 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 99f3093..05fbbca 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 6a0c045..f73f427 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 4d2a594..25a6861 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 3b33aba..40a59dc 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 54c9a43..aa2dfaf 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 db1226a..7e25b5a 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 489f5b58..339cdb2 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 37c355e..a9892e9 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 e319c68..6370933 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 7fa1299..d9e0dea 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 9756bfa..4a9dba9 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">11</td> @@ -94,7 +94,7 @@ </tr> <tr> <td class="coverFn"><a href="run-trace.c.gcov.html#150">all_done</a></td> - <td class="coverFnHi">1884161</td> + <td class="coverFnHi">1838890</td> </tr> <tr> <td class="coverFn"><a href="run-trace.c.gcov.html#108">lock_caller</a></td> diff --git a/coverage-report/core/test/run-trace.c.func.html b/coverage-report/core/test/run-trace.c.func.html index 717d900..c419f56 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">11</td> @@ -70,7 +70,7 @@ </tr> <tr> <td class="coverFn"><a href="run-trace.c.gcov.html#150">all_done</a></td> - <td class="coverFnHi">1884161</td> + <td class="coverFnHi">1838890</td> </tr> <tr> <td class="coverFn"><a href="run-trace.c.gcov.html#25">full_barrier</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 af90c95..28645cc 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">11</td> @@ -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"> 1884161 : static bool all_done(const bool done[])</span></a> +<a name="152"><span class="lineNum"> 152 </span> :<span class="lineCov"> 1838890 : 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"> 1984932 : for (i = 0; i < CPUS; i++)</span></a> -<a name="157"><span class="lineNum"> 157 </span> :<span class="lineCov"> 1984931 : if (!done[i])</span></a> -<a name="158"><span class="lineNum"> 158 </span> :<span class="lineCov"> 1884160 : return false;</span></a> +<a name="156"><span class="lineNum"> 156 </span> :<span class="lineCov"> 2062682 : for (i = 0; i < CPUS; i++)</span></a> +<a name="157"><span class="lineNum"> 157 </span> :<span class="lineCov"> 2062681 : if (!done[i])</span></a> +<a name="158"><span class="lineNum"> 158 </span> :<span class="lineCov"> 1838889 : 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"> 1884161 : while (!all_done(done)) {</span></a> +<a name="194"><span class="lineNum"> 194 </span> :<span class="lineCov"> 1838890 : 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"> 1906397 : for (i = 0; i < CPUS; i++) {</span></a> -<a name="198"><span class="lineNum"> 198 </span> :<span class="lineCov"> 1900844 : if (trace_get(&t, &trace_readers[(i+last) % CPUS]))</span></a> -<a name="199"><span class="lineNum"> 199 </span> :<span class="lineCov"> 1878607 : break;</span></a> +<a name="197"><span class="lineNum"> 197 </span> :<span class="lineCov"> 1842183 : for (i = 0; i < CPUS; i++) {</span></a> +<a name="198"><span class="lineNum"> 198 </span> :<span class="lineCov"> 1841366 : if (trace_get(&t, &trace_readers[(i+last) % CPUS]))</span></a> +<a name="199"><span class="lineNum"> 199 </span> :<span class="lineCov"> 1838072 : 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"> 1884160 : if (i == CPUS) {</span></a> -<a name="203"><span class="lineNum"> 203 </span> :<span class="lineCov"> 5553 : sched_yield();</span></a> -<a name="204"><span class="lineNum"> 204 </span> :<span class="lineCov"> 5584 : continue;</span></a> +<a name="202"><span class="lineNum"> 202 </span> :<span class="lineCov"> 1838889 : if (i == CPUS) {</span></a> +<a name="203"><span class="lineNum"> 203 </span> :<span class="lineCov"> 817 : sched_yield();</span></a> +<a name="204"><span class="lineNum"> 204 </span> :<span class="lineCov"> 840 : continue;</span></a> <a name="205"><span class="lineNum"> 205 </span> : : }</a> -<a name="206"><span class="lineNum"> 206 </span> :<span class="lineCov"> 1878607 : i = (i + last) % CPUS;</span></a> -<a name="207"><span class="lineNum"> 207 </span> :<span class="lineCov"> 1878607 : last = i;</span></a> +<a name="206"><span class="lineNum"> 206 </span> :<span class="lineCov"> 1838072 : i = (i + last) % CPUS;</span></a> +<a name="207"><span class="lineNum"> 207 </span> :<span class="lineCov"> 1838072 : last = i;</span></a> <a name="208"><span class="lineNum"> 208 </span> : : </a> -<a name="209"><span class="lineNum"> 209 </span> :<span class="lineCov"> 1878607 : if (t.hdr.type == TRACE_OVERFLOW) {</span></a> +<a name="209"><span class="lineNum"> 209 </span> :<span class="lineCov"> 1838072 : 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"> 31 : assert(be64_to_cpu(t.overflow.bytes_missed) % 16 == 0);</span></a> -<a name="212"><span class="lineNum"> 212 </span> :<span class="lineCov"> 31 : overflows[i] += be64_to_cpu(t.overflow.bytes_missed) / 16;</span></a> -<a name="213"><span class="lineNum"> 213 </span> :<span class="lineCov"> 31 : num_overflows[i]++;</span></a> -<a name="214"><span class="lineNum"> 214 </span> :<span class="lineCov"> 31 : continue;</span></a> +<a name="211"><span class="lineNum"> 211 </span> :<span class="lineCov"> 23 : assert(be64_to_cpu(t.overflow.bytes_missed) % 16 == 0);</span></a> +<a name="212"><span class="lineNum"> 212 </span> :<span class="lineCov"> 23 : overflows[i] += be64_to_cpu(t.overflow.bytes_missed) / 16;</span></a> +<a name="213"><span class="lineNum"> 213 </span> :<span class="lineCov"> 23 : num_overflows[i]++;</span></a> +<a name="214"><span class="lineNum"> 214 </span> :<span class="lineCov"> 23 : 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"> 1878576 : assert(be16_to_cpu(t.hdr.cpu) < CPUS);</span></a> -<a name="218"><span class="lineNum"> 218 </span> :<span class="lineCov"> 1878576 : assert(!done[be16_to_cpu(t.hdr.cpu)]);</span></a> -<a name="219"><span class="lineNum"> 219 </span> :<span class="lineCov"> 1878576 : 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"> 1878576 : if (t.hdr.type == TRACE_REPEAT) {</span></a> -<a name="221"><span class="lineNum"> 221 </span> :<span class="lineCov"> 713081 : assert(t.hdr.len_div_8 * 8 == sizeof(t.repeat));</span></a> -<a name="222"><span class="lineNum"> 222 </span> :<span class="lineCov"> 713081 : assert(be16_to_cpu(t.repeat.num) != 0);</span></a> -<a name="223"><span class="lineNum"> 223 </span> :<span class="lineCov"> 713081 : assert(be16_to_cpu(t.repeat.num) <= be16_to_cpu(t.hdr.cpu));</span></a> -<a name="224"><span class="lineNum"> 224 </span> :<span class="lineCov"> 713081 : 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"> 1165495 : } else if (t.hdr.type == 0x70) {</span></a> +<a name="217"><span class="lineNum"> 217 </span> :<span class="lineCov"> 1838049 : assert(be16_to_cpu(t.hdr.cpu) < CPUS);</span></a> +<a name="218"><span class="lineNum"> 218 </span> :<span class="lineCov"> 1838049 : assert(!done[be16_to_cpu(t.hdr.cpu)]);</span></a> +<a name="219"><span class="lineNum"> 219 </span> :<span class="lineCov"> 1838049 : 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"> 1838049 : if (t.hdr.type == TRACE_REPEAT) {</span></a> +<a name="221"><span class="lineNum"> 221 </span> :<span class="lineCov"> 713179 : assert(t.hdr.len_div_8 * 8 == sizeof(t.repeat));</span></a> +<a name="222"><span class="lineNum"> 222 </span> :<span class="lineCov"> 713179 : assert(be16_to_cpu(t.repeat.num) != 0);</span></a> +<a name="223"><span class="lineNum"> 223 </span> :<span class="lineCov"> 713179 : assert(be16_to_cpu(t.repeat.num) <= be16_to_cpu(t.hdr.cpu));</span></a> +<a name="224"><span class="lineNum"> 224 </span> :<span class="lineCov"> 713179 : 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"> 1124870 : } 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 < 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"> 1165491 : cpu = be16_to_cpu(t.hdr.cpu);</span></a> -<a name="231"><span class="lineNum"> 231 </span> :<span class="lineCov"> 1165491 : assert(cpu < CPUS);</span></a> -<a name="232"><span class="lineNum"> 232 </span> :<span class="lineCov"> 1165491 : counts[cpu]++;</span></a> +<a name="230"><span class="lineNum"> 230 </span> :<span class="lineCov"> 1124866 : cpu = be16_to_cpu(t.hdr.cpu);</span></a> +<a name="231"><span class="lineNum"> 231 </span> :<span class="lineCov"> 1124866 : assert(cpu < CPUS);</span></a> +<a name="232"><span class="lineNum"> 232 </span> :<span class="lineCov"> 1124866 : 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> 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 68ab864..51b17b8 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 a330d73..711604e 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 524cb6a..cb40f05 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 add2987..6ade2d9 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 f2473f5..120d999 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 031b773..ba92d64 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 66a6fb6..25e0953 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 921075a..f6914ee 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 79236d0..634814b 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 bcb6b64..80c4179 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">5</td> diff --git a/coverage-report/core/trace.c.func.html b/coverage-report/core/trace.c.func.html index 724f0d6..5a8dc41 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">5</td> diff --git a/coverage-report/core/trace.c.gcov.html b/coverage-report/core/trace.c.gcov.html index 42ec8ee..21258a6 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">5</td> diff --git a/coverage-report/core/vpd.c.func-sort-c.html b/coverage-report/core/vpd.c.func-sort-c.html index b24c2e5..a16c6d8 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">4</td> @@ -70,19 +70,19 @@ </tr> <tr> <td class="coverFn"><a href="vpd.c.gcov.html#40">vpd_valid</a></td> - <td class="coverFnHi">33</td> + <td class="coverFnHi">13</td> </tr> <tr> <td class="coverFn"><a href="vpd.c.gcov.html#126">vpd_find</a></td> - <td class="coverFnHi">251</td> + <td class="coverFnHi">103</td> </tr> <tr> <td class="coverFn"><a href="vpd.c.gcov.html#72">vpd_find_record</a></td> - <td class="coverFnHi">313</td> + <td class="coverFnHi">128</td> </tr> <tr> <td class="coverFn"><a href="vpd.c.gcov.html#17">vpd_find_keyword</a></td> - <td class="coverFnHi">867</td> + <td class="coverFnHi">336</td> </tr> </table> <br> diff --git a/coverage-report/core/vpd.c.func.html b/coverage-report/core/vpd.c.func.html index 350707a..e0978e2 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">4</td> @@ -70,19 +70,19 @@ </tr> <tr> <td class="coverFn"><a href="vpd.c.gcov.html#126">vpd_find</a></td> - <td class="coverFnHi">251</td> + <td class="coverFnHi">103</td> </tr> <tr> <td class="coverFn"><a href="vpd.c.gcov.html#17">vpd_find_keyword</a></td> - <td class="coverFnHi">867</td> + <td class="coverFnHi">336</td> </tr> <tr> <td class="coverFn"><a href="vpd.c.gcov.html#72">vpd_find_record</a></td> - <td class="coverFnHi">313</td> + <td class="coverFnHi">128</td> </tr> <tr> <td class="coverFn"><a href="vpd.c.gcov.html#40">vpd_valid</a></td> - <td class="coverFnHi">33</td> + <td class="coverFnHi">13</td> </tr> </table> <br> diff --git a/coverage-report/core/vpd.c.gcov.html b/coverage-report/core/vpd.c.gcov.html index d28b5ed..4c30d2c 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">4</td> @@ -87,53 +87,53 @@ <a name="16"><span class="lineNum"> 16 </span> : : * need to find the next keyword of a given type, for example</a> <a name="17"><span class="lineNum"> 17 </span> : : * when having multiple MF/SM keyword pairs</a> <a name="18"><span class="lineNum"> 18 </span> : : */</a> -<a name="19"><span class="lineNum"> 19 </span> :<span class="lineCov"> 867 : const void *vpd_find_keyword(const void *rec, size_t rec_sz,</span></a> +<a name="19"><span class="lineNum"> 19 </span> :<span class="lineCov"> 336 : const void *vpd_find_keyword(const void *rec, size_t rec_sz,</span></a> <a name="20"><span class="lineNum"> 20 </span> : : const char *kw, uint8_t *kw_size)</a> <a name="21"><span class="lineNum"> 21 </span> : : {</a> -<a name="22"><span class="lineNum"> 22 </span> :<span class="lineCov"> 867 : const uint8_t *p = rec, *end = rec + rec_sz;</span></a> +<a name="22"><span class="lineNum"> 22 </span> :<span class="lineCov"> 336 : const uint8_t *p = rec, *end = rec + rec_sz;</span></a> <a name="23"><span class="lineNum"> 23 </span> : : </a> -<a name="24"><span class="lineNum"> 24 </span> :<span class="lineCov"> 2759 : while (CHECK_SPACE(p, 3, end)) {</span></a> -<a name="25"><span class="lineNum"> 25 </span> :<span class="lineCov"> 2729 : uint8_t k1 = *(p++);</span></a> -<a name="26"><span class="lineNum"> 26 </span> :<span class="lineCov"> 2729 : uint8_t k2 = *(p++);</span></a> -<a name="27"><span class="lineNum"> 27 </span> :<span class="lineCov"> 2729 : uint8_t sz = *(p++);</span></a> +<a name="24"><span class="lineNum"> 24 </span> :<span class="lineCov"> 1114 : while (CHECK_SPACE(p, 3, end)) {</span></a> +<a name="25"><span class="lineNum"> 25 </span> :<span class="lineCov"> 1102 : uint8_t k1 = *(p++);</span></a> +<a name="26"><span class="lineNum"> 26 </span> :<span class="lineCov"> 1102 : uint8_t k2 = *(p++);</span></a> +<a name="27"><span class="lineNum"> 27 </span> :<span class="lineCov"> 1102 : uint8_t sz = *(p++);</span></a> <a name="28"><span class="lineNum"> 28 </span> : : </a> -<a name="29"><span class="lineNum"> 29 </span> :<span class="lineCov"> 2729 : if (k1 == kw[0] && k2 == kw[1]) {</span></a> -<a name="30"><span class="lineNum"> 30 </span> :<span class="lineCov"> 837 : if (kw_size)</span></a> -<a name="31"><span class="lineNum"> 31 </span> :<span class="lineCov"> 834 : *kw_size = sz;</span></a> -<a name="32"><span class="lineNum"> 32 </span> :<span class="lineCov"> 837 : return p;</span></a> +<a name="29"><span class="lineNum"> 29 </span> :<span class="lineCov"> 1102 : if (k1 == kw[0] && k2 == kw[1]) {</span></a> +<a name="30"><span class="lineNum"> 30 </span> :<span class="lineCov"> 324 : if (kw_size)</span></a> +<a name="31"><span class="lineNum"> 31 </span> :<span class="lineCov"> 323 : *kw_size = sz;</span></a> +<a name="32"><span class="lineNum"> 32 </span> :<span class="lineCov"> 324 : return p;</span></a> <a name="33"><span class="lineNum"> 33 </span> : : }</a> -<a name="34"><span class="lineNum"> 34 </span> :<span class="lineCov"> 1892 : p += sz;</span></a> +<a name="34"><span class="lineNum"> 34 </span> :<span class="lineCov"> 778 : p += sz;</span></a> <a name="35"><span class="lineNum"> 35 </span> : : }</a> -<a name="36"><span class="lineNum"> 36 </span> :<span class="lineCov"> 30 : return NULL;</span></a> +<a name="36"><span class="lineNum"> 36 </span> :<span class="lineCov"> 12 : return NULL;</span></a> <a name="37"><span class="lineNum"> 37 </span> : : }</a> <a name="38"><span class="lineNum"> 38 </span> : : </a> <a name="39"><span class="lineNum"> 39 </span> : : /* vpd_valid - does some basic sanity checks to ensure a VPD blob is</a> <a name="40"><span class="lineNum"> 40 </span> : : * actually a VPD blob</a> <a name="41"><span class="lineNum"> 41 </span> : : */</a> -<a name="42"><span class="lineNum"> 42 </span> :<span class="lineCov"> 33 : bool vpd_valid(const void *vvpd, size_t vpd_size)</span></a> +<a name="42"><span class="lineNum"> 42 </span> :<span class="lineCov"> 13 : bool vpd_valid(const void *vvpd, size_t vpd_size)</span></a> <a name="43"><span class="lineNum"> 43 </span> : : {</a> -<a name="44"><span class="lineNum"> 44 </span> :<span class="lineCov"> 33 : const uint8_t *vpd = vvpd;</span></a> -<a name="45"><span class="lineNum"> 45 </span> :<span class="lineCov"> 33 : int size, i = 0;</span></a> +<a name="44"><span class="lineNum"> 44 </span> :<span class="lineCov"> 13 : const uint8_t *vpd = vvpd;</span></a> +<a name="45"><span class="lineNum"> 45 </span> :<span class="lineCov"> 13 : int size, i = 0;</span></a> <a name="46"><span class="lineNum"> 46 </span> : : </a> <a name="47"><span class="lineNum"> 47 </span> : : /* find the record start byte */</a> -<a name="48"><span class="lineNum"> 48 </span> :<span class="lineCov"> 33 : while (i < vpd_size)</span></a> -<a name="49"><span class="lineNum"> 49 </span> :<span class="lineCov"> 33 : if (vpd[i++] == 0x84)</span></a> -<a name="50"><span class="lineNum"> 50 </span> :<span class="lineCov"> 33 : break;</span></a> +<a name="48"><span class="lineNum"> 48 </span> :<span class="lineCov"> 13 : while (i < vpd_size)</span></a> +<a name="49"><span class="lineNum"> 49 </span> :<span class="lineCov"> 13 : if (vpd[i++] == 0x84)</span></a> +<a name="50"><span class="lineNum"> 50 </span> :<span class="lineCov"> 13 : break;</span></a> <a name="51"><span class="lineNum"> 51 </span> : : </a> -<a name="52"><span class="lineNum"> 52 </span> :<span class="lineCov"> 33 : if (i >= vpd_size)</span></a> +<a name="52"><span class="lineNum"> 52 </span> :<span class="lineCov"> 13 : if (i >= vpd_size)</span></a> <a name="53"><span class="lineNum"> 53 </span> :<span class="lineNoCov"> 0 : return false;</span></a> <a name="54"><span class="lineNum"> 54 </span> : : </a> <a name="55"><span class="lineNum"> 55 </span> : : /* next two bytes are the record length, little endian */</a> -<a name="56"><span class="lineNum"> 56 </span> :<span class="lineCov"> 33 : size = 2;</span></a> -<a name="57"><span class="lineNum"> 57 </span> :<span class="lineCov"> 33 : size += vpd[i];</span></a> -<a name="58"><span class="lineNum"> 58 </span> :<span class="lineCov"> 33 : size += vpd[i + 1] << 8;</span></a> +<a name="56"><span class="lineNum"> 56 </span> :<span class="lineCov"> 13 : size = 2;</span></a> +<a name="57"><span class="lineNum"> 57 </span> :<span class="lineCov"> 13 : size += vpd[i];</span></a> +<a name="58"><span class="lineNum"> 58 </span> :<span class="lineCov"> 13 : size += vpd[i + 1] << 8;</span></a> <a name="59"><span class="lineNum"> 59 </span> : : </a> -<a name="60"><span class="lineNum"> 60 </span> :<span class="lineCov"> 33 : i += size; /* skip to the end marker */</span></a> +<a name="60"><span class="lineNum"> 60 </span> :<span class="lineCov"> 13 : i += size; /* skip to the end marker */</span></a> <a name="61"><span class="lineNum"> 61 </span> : : </a> -<a name="62"><span class="lineNum"> 62 </span> :<span class="lineCov"> 33 : if (i >= vpd_size || vpd[i] != 0x78)</span></a> +<a name="62"><span class="lineNum"> 62 </span> :<span class="lineCov"> 13 : if (i >= vpd_size || vpd[i] != 0x78)</span></a> <a name="63"><span class="lineNum"> 63 </span> :<span class="lineNoCov"> 0 : return false;</span></a> <a name="64"><span class="lineNum"> 64 </span> : : </a> -<a name="65"><span class="lineNum"> 65 </span> :<span class="lineCov"> 33 : return true;</span></a> +<a name="65"><span class="lineNum"> 65 </span> :<span class="lineCov"> 13 : return true;</span></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> : : /* Locate a record in a VPD blob</a> @@ -142,52 +142,52 @@ <a name="71"><span class="lineNum"> 71 </span> : : * the first 0x84, so it will skip all those 0's that the VPD</a> <a name="72"><span class="lineNum"> 72 </span> : : * LIDs seem to contain</a> <a name="73"><span class="lineNum"> 73 </span> : : */</a> -<a name="74"><span class="lineNum"> 74 </span> :<span class="lineCov"> 313 : const void *vpd_find_record(const void *vpd, size_t vpd_size,</span></a> +<a name="74"><span class="lineNum"> 74 </span> :<span class="lineCov"> 128 : const void *vpd_find_record(const void *vpd, size_t vpd_size,</span></a> <a name="75"><span class="lineNum"> 75 </span> : : const char *record, size_t *sz)</a> <a name="76"><span class="lineNum"> 76 </span> : : {</a> -<a name="77"><span class="lineNum"> 77 </span> :<span class="lineCov"> 313 : const uint8_t *p = vpd, *end = vpd + vpd_size;</span></a> -<a name="78"><span class="lineNum"> 78 </span> :<span class="lineCov"> 313 : bool first_start = true;</span></a> +<a name="77"><span class="lineNum"> 77 </span> :<span class="lineCov"> 128 : const uint8_t *p = vpd, *end = vpd + vpd_size;</span></a> +<a name="78"><span class="lineNum"> 78 </span> :<span class="lineCov"> 128 : bool first_start = true;</span></a> <a name="79"><span class="lineNum"> 79 </span> : : size_t rec_sz;</a> -<a name="80"><span class="lineNum"> 80 </span> :<span class="lineCov"> 313 : uint8_t namesz = 0;</span></a> +<a name="80"><span class="lineNum"> 80 </span> :<span class="lineCov"> 128 : uint8_t namesz = 0;</span></a> <a name="81"><span class="lineNum"> 81 </span> : : const char *rec_name;</a> <a name="82"><span class="lineNum"> 82 </span> : : </a> -<a name="83"><span class="lineNum"> 83 </span> :<span class="lineCov"> 313 : if (!vpd)</span></a> +<a name="83"><span class="lineNum"> 83 </span> :<span class="lineCov"> 128 : if (!vpd)</span></a> <a name="84"><span class="lineNum"> 84 </span> :<span class="lineNoCov"> 0 : return NULL;</span></a> <a name="85"><span class="lineNum"> 85 </span> : : </a> -<a name="86"><span class="lineNum"> 86 </span> :<span class="lineCov"> 1002 : while (CHECK_SPACE(p, 4, end)) {</span></a> +<a name="86"><span class="lineNum"> 86 </span> :<span class="lineCov"> 366 : while (CHECK_SPACE(p, 4, end)) {</span></a> <a name="87"><span class="lineNum"> 87 </span> : : /* Get header byte */</a> -<a name="88"><span class="lineNum"> 88 </span> :<span class="lineCov"> 990 : if (*(p++) != 0x84) {</span></a> +<a name="88"><span class="lineNum"> 88 </span> :<span class="lineCov"> 362 : if (*(p++) != 0x84) {</span></a> <a name="89"><span class="lineNum"> 89 </span> : : /* Skip initial crap in VPD LIDs */</a> -<a name="90"><span class="lineNum"> 90 </span> :<span class="lineCov"> 374 : if (first_start)</span></a> -<a name="91"><span class="lineNum"> 91 </span> :<span class="lineCov"> 330 : continue;</span></a> -<a name="92"><span class="lineNum"> 92 </span> :<span class="lineCov"> 44 : break;</span></a> +<a name="90"><span class="lineNum"> 90 </span> :<span class="lineCov"> 129 : if (first_start)</span></a> +<a name="91"><span class="lineNum"> 91 </span> :<span class="lineCov"> 110 : continue;</span></a> +<a name="92"><span class="lineNum"> 92 </span> :<span class="lineCov"> 19 : break;</span></a> <a name="93"><span class="lineNum"> 93 </span> : : }</a> -<a name="94"><span class="lineNum"> 94 </span> :<span class="lineCov"> 616 : first_start = false;</span></a> -<a name="95"><span class="lineNum"> 95 </span> :<span class="lineCov"> 616 : rec_sz = *(p++);</span></a> -<a name="96"><span class="lineNum"> 96 </span> :<span class="lineCov"> 616 : rec_sz |= *(p++) << 8;</span></a> -<a name="97"><span class="lineNum"> 97 </span> :<span class="lineCov"> 616 : if (!CHECK_SPACE(p, rec_sz, end)) {</span></a> +<a name="94"><span class="lineNum"> 94 </span> :<span class="lineCov"> 233 : first_start = false;</span></a> +<a name="95"><span class="lineNum"> 95 </span> :<span class="lineCov"> 233 : rec_sz = *(p++);</span></a> +<a name="96"><span class="lineNum"> 96 </span> :<span class="lineCov"> 233 : rec_sz |= *(p++) << 8;</span></a> +<a name="97"><span class="lineNum"> 97 </span> :<span class="lineCov"> 233 : if (!CHECK_SPACE(p, rec_sz, end)) {</span></a> <a name="98"><span class="lineNum"> 98 </span> :<span class="lineNoCov"> 0 : prerror("VPD: Malformed or truncated VPD,"</span></a> <a name="99"><span class="lineNum"> 99 </span> : : " record size doesn't fit\n");</a> <a name="100"><span class="lineNum"> 100 </span> :<span class="lineNoCov"> 0 : return NULL;</span></a> <a name="101"><span class="lineNum"> 101 </span> : : }</a> <a name="102"><span class="lineNum"> 102 </span> : : </a> <a name="103"><span class="lineNum"> 103 </span> : : /* Find record name */</a> -<a name="104"><span class="lineNum"> 104 </span> :<span class="lineCov"> 616 : rec_name = vpd_find_keyword(p, rec_sz, "RT", &namesz);</span></a> -<a name="105"><span class="lineNum"> 105 </span> :<span class="lineCov"> 616 : if (rec_name && strncmp(record, rec_name, namesz) == 0) {</span></a> -<a name="106"><span class="lineNum"> 106 </span> :<span class="lineCov"> 257 : if (sz)</span></a> -<a name="107"><span class="lineNum"> 107 </span> :<span class="lineCov"> 251 : *sz = rec_sz;</span></a> -<a name="108"><span class="lineNum"> 108 </span> :<span class="lineCov"> 257 : return p;</span></a> +<a name="104"><span class="lineNum"> 104 </span> :<span class="lineCov"> 233 : rec_name = vpd_find_keyword(p, rec_sz, "RT", &namesz);</span></a> +<a name="105"><span class="lineNum"> 105 </span> :<span class="lineCov"> 233 : if (rec_name && strncmp(record, rec_name, namesz) == 0) {</span></a> +<a name="106"><span class="lineNum"> 106 </span> :<span class="lineCov"> 105 : if (sz)</span></a> +<a name="107"><span class="lineNum"> 107 </span> :<span class="lineCov"> 103 : *sz = rec_sz;</span></a> +<a name="108"><span class="lineNum"> 108 </span> :<span class="lineCov"> 105 : return p;</span></a> <a name="109"><span class="lineNum"> 109 </span> : : }</a> <a name="110"><span class="lineNum"> 110 </span> : : </a> -<a name="111"><span class="lineNum"> 111 </span> :<span class="lineCov"> 359 : p += rec_sz;</span></a> -<a name="112"><span class="lineNum"> 112 </span> :<span class="lineCov"> 359 : if (*(p++) != 0x78) {</span></a> +<a name="111"><span class="lineNum"> 111 </span> :<span class="lineCov"> 128 : p += rec_sz;</span></a> +<a name="112"><span class="lineNum"> 112 </span> :<span class="lineCov"> 128 : if (*(p++) != 0x78) {</span></a> <a name="113"><span class="lineNum"> 113 </span> :<span class="lineNoCov"> 0 : prerror("VPD: Malformed or truncated VPD,"</span></a> <a name="114"><span class="lineNum"> 114 </span> : : " missing final 0x78 in record %.4s\n",</a> <a name="115"><span class="lineNum"> 115 </span> : : rec_name ? rec_name : "????");</a> <a name="116"><span class="lineNum"> 116 </span> :<span class="lineNoCov"> 0 : return NULL;</span></a> <a name="117"><span class="lineNum"> 117 </span> : : }</a> <a name="118"><span class="lineNum"> 118 </span> : : }</a> -<a name="119"><span class="lineNum"> 119 </span> :<span class="lineCov"> 56 : return NULL;</span></a> +<a name="119"><span class="lineNum"> 119 </span> :<span class="lineCov"> 23 : return NULL;</span></a> <a name="120"><span class="lineNum"> 120 </span> : : }</a> <a name="121"><span class="lineNum"> 121 </span> : : </a> <a name="122"><span class="lineNum"> 122 </span> : : /* Locate a keyword in a record in a VPD blob</a> @@ -196,17 +196,17 @@ <a name="125"><span class="lineNum"> 125 </span> : : * the first 0x84, so it will skip all those 0's that the VPD</a> <a name="126"><span class="lineNum"> 126 </span> : : * LIDs seem to contain</a> <a name="127"><span class="lineNum"> 127 </span> : : */</a> -<a name="128"><span class="lineNum"> 128 </span> :<span class="lineCov"> 251 : const void *vpd_find(const void *vpd, size_t vpd_size,</span></a> +<a name="128"><span class="lineNum"> 128 </span> :<span class="lineCov"> 103 : const void *vpd_find(const void *vpd, size_t vpd_size,</span></a> <a name="129"><span class="lineNum"> 129 </span> : : const char *record, const char *keyword,</a> <a name="130"><span class="lineNum"> 130 </span> : : uint8_t *sz)</a> <a name="131"><span class="lineNum"> 131 </span> : : {</a> <a name="132"><span class="lineNum"> 132 </span> : : size_t rec_sz;</a> <a name="133"><span class="lineNum"> 133 </span> : : const uint8_t *p;</a> <a name="134"><span class="lineNum"> 134 </span> : : </a> -<a name="135"><span class="lineNum"> 135 </span> :<span class="lineCov"> 251 : p = vpd_find_record(vpd, vpd_size, record, &rec_sz);</span></a> -<a name="136"><span class="lineNum"> 136 </span> :<span class="lineCov"> 251 : if (p)</span></a> -<a name="137"><span class="lineNum"> 137 </span> :<span class="lineCov"> 251 : p = vpd_find_keyword(p, rec_sz, keyword, sz);</span></a> -<a name="138"><span class="lineNum"> 138 </span> :<span class="lineCov"> 251 : return p;</span></a> +<a name="135"><span class="lineNum"> 135 </span> :<span class="lineCov"> 103 : p = vpd_find_record(vpd, vpd_size, record, &rec_sz);</span></a> +<a name="136"><span class="lineNum"> 136 </span> :<span class="lineCov"> 103 : if (p)</span></a> +<a name="137"><span class="lineNum"> 137 </span> :<span class="lineCov"> 103 : p = vpd_find_keyword(p, rec_sz, keyword, sz);</span></a> +<a name="138"><span class="lineNum"> 138 </span> :<span class="lineCov"> 103 : return p;</span></a> <a name="139"><span class="lineNum"> 139 </span> : : }</a> </pre> </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 9b134d3..273319e 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 @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 695e5f2..84f8a44 100644 --- a/coverage-report/external/ffspart/ccan/endian/endian.h.func.html +++ b/coverage-report/external/ffspart/ccan/endian/endian.h.func.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 75562eb..d1b6a0c 100644 --- a/coverage-report/external/ffspart/ccan/endian/endian.h.gcov.html +++ b/coverage-report/external/ffspart/ccan/endian/endian.h.gcov.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">1</td> 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 5d7e830..30842cd 100644 --- a/coverage-report/external/ffspart/ccan/endian/index-sort-b.html +++ b/coverage-report/external/ffspart/ccan/endian/index-sort-b.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">1</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 80a6ce6..d13fa06 100644 --- a/coverage-report/external/ffspart/ccan/endian/index-sort-f.html +++ b/coverage-report/external/ffspart/ccan/endian/index-sort-f.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">1</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 0a4a3d4..0e0d96b 100644 --- a/coverage-report/external/ffspart/ccan/endian/index-sort-l.html +++ b/coverage-report/external/ffspart/ccan/endian/index-sort-l.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">1</td> diff --git a/coverage-report/external/ffspart/ccan/endian/index.html b/coverage-report/external/ffspart/ccan/endian/index.html index e1c7d44..10306ac 100644 --- a/coverage-report/external/ffspart/ccan/endian/index.html +++ b/coverage-report/external/ffspart/ccan/endian/index.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">1</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 1283b72..a3de5a0 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 9d0436a..a472af0 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 6331169..08f4cf3 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 144f8d4..1a4c352 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 98edf85..d1104b9 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 816e0de..a77281d 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 3718781..0bd3b43 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">2</td> diff --git a/coverage-report/external/ffspart/common/index-sort-f.html b/coverage-report/external/ffspart/common/index-sort-f.html index a22d44a..414764d 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 a2fbf3b..b60a750 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 78dfdf9..b3c4dde 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 f3bc919..65cb12d 100644 --- a/coverage-report/external/ffspart/ffspart.c.func-sort-c.html +++ b/coverage-report/external/ffspart/ffspart.c.func-sort-c.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">4</td> diff --git a/coverage-report/external/ffspart/ffspart.c.func.html b/coverage-report/external/ffspart/ffspart.c.func.html index 55fd12c..ddd4306 100644 --- a/coverage-report/external/ffspart/ffspart.c.func.html +++ b/coverage-report/external/ffspart/ffspart.c.func.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">4</td> diff --git a/coverage-report/external/ffspart/ffspart.c.gcov.html b/coverage-report/external/ffspart/ffspart.c.gcov.html index 2df5f2a..c3e5c99 100644 --- a/coverage-report/external/ffspart/ffspart.c.gcov.html +++ b/coverage-report/external/ffspart/ffspart.c.gcov.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">4</td> diff --git a/coverage-report/external/ffspart/index-sort-b.html b/coverage-report/external/ffspart/index-sort-b.html index 3f82ea6..0ff2a58 100644 --- a/coverage-report/external/ffspart/index-sort-b.html +++ b/coverage-report/external/ffspart/index-sort-b.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">4</td> diff --git a/coverage-report/external/ffspart/index-sort-f.html b/coverage-report/external/ffspart/index-sort-f.html index abfe8e2..3257c16 100644 --- a/coverage-report/external/ffspart/index-sort-f.html +++ b/coverage-report/external/ffspart/index-sort-f.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">4</td> diff --git a/coverage-report/external/ffspart/index-sort-l.html b/coverage-report/external/ffspart/index-sort-l.html index 44ea0ee..aff6b7a 100644 --- a/coverage-report/external/ffspart/index-sort-l.html +++ b/coverage-report/external/ffspart/index-sort-l.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">4</td> diff --git a/coverage-report/external/ffspart/index.html b/coverage-report/external/ffspart/index.html index 24e5c85..11b1633 100644 --- a/coverage-report/external/ffspart/index.html +++ b/coverage-report/external/ffspart/index.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">4</td> 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 b9382e9..9643dfc 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 @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">8</td> diff --git a/coverage-report/external/ffspart/libflash/blocklevel.c.func.html b/coverage-report/external/ffspart/libflash/blocklevel.c.func.html index f04c78e..8300a10 100644 --- a/coverage-report/external/ffspart/libflash/blocklevel.c.func.html +++ b/coverage-report/external/ffspart/libflash/blocklevel.c.func.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">8</td> diff --git a/coverage-report/external/ffspart/libflash/blocklevel.c.gcov.html b/coverage-report/external/ffspart/libflash/blocklevel.c.gcov.html index 68df407..f85b4df 100644 --- a/coverage-report/external/ffspart/libflash/blocklevel.c.gcov.html +++ b/coverage-report/external/ffspart/libflash/blocklevel.c.gcov.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">8</td> 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 9f96f5a..162abe5 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 @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">1</td> diff --git a/coverage-report/external/ffspart/libflash/ecc.c.func.html b/coverage-report/external/ffspart/libflash/ecc.c.func.html index 0bf1a58..c71c91a 100644 --- a/coverage-report/external/ffspart/libflash/ecc.c.func.html +++ b/coverage-report/external/ffspart/libflash/ecc.c.func.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">1</td> diff --git a/coverage-report/external/ffspart/libflash/ecc.c.gcov.html b/coverage-report/external/ffspart/libflash/ecc.c.gcov.html index 22f8f30..54201b2 100644 --- a/coverage-report/external/ffspart/libflash/ecc.c.gcov.html +++ b/coverage-report/external/ffspart/libflash/ecc.c.gcov.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">1</td> 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 5d41ffb..0890654 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 03ba08f..33874aa 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 19ef1f9..73c022d 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 8796142..d9310ea 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 @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">6</td> diff --git a/coverage-report/external/ffspart/libflash/file.c.func.html b/coverage-report/external/ffspart/libflash/file.c.func.html index 6148173..0d89bc0 100644 --- a/coverage-report/external/ffspart/libflash/file.c.func.html +++ b/coverage-report/external/ffspart/libflash/file.c.func.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">6</td> diff --git a/coverage-report/external/ffspart/libflash/file.c.gcov.html b/coverage-report/external/ffspart/libflash/file.c.gcov.html index 2ece8d1..83e0744 100644 --- a/coverage-report/external/ffspart/libflash/file.c.gcov.html +++ b/coverage-report/external/ffspart/libflash/file.c.gcov.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">6</td> diff --git a/coverage-report/external/ffspart/libflash/index-sort-b.html b/coverage-report/external/ffspart/libflash/index-sort-b.html index cc33a08..4bd69e5 100644 --- a/coverage-report/external/ffspart/libflash/index-sort-b.html +++ b/coverage-report/external/ffspart/libflash/index-sort-b.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">30</td> @@ -82,38 +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="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=14 height=10 alt="14.3%"><img src="../../../snow.png" width=86 height=10 alt="14.3%"></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">14.3 %</td> - <td class="coverNumLo">15 / 105</td> - <td class="coverPerLo">16.7 %</td> - <td class="coverNumLo">1 / 6</td> + <td class="coverPerLo">38.6 %</td> + <td class="coverNumLo">71 / 184</td> + <td class="coverPerLo">46.2 %</td> + <td class="coverNumLo">6 / 13</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="../../../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=26 height=10 alt="25.7%"><img src="../../../snow.png" width=74 height=10 alt="25.7%"></td></tr></table> </td> - <td class="coverPerLo">0.0 %</td> - <td class="coverNumLo">0 / 419</td> - <td class="coverPerLo">0.0 %</td> - <td class="coverNumLo">0 / 24</td> + <td class="coverPerLo">25.7 %</td> + <td class="coverNumLo">98 / 382</td> + <td class="coverPerLo">57.1 %</td> + <td class="coverNumLo">8 / 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=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="../../../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">44.7 %</td> - <td class="coverNumLo">192 / 430</td> - <td class="coverPerLo">53.6 %</td> - <td class="coverNumLo">15 / 28</td> + <td class="coverPerLo">14.3 %</td> + <td class="coverNumLo">15 / 105</td> + <td class="coverPerLo">16.7 %</td> + <td class="coverNumLo">1 / 6</td> <td class="coverPerHi">-</td> <td class="coverNumHi">0 / 0</td> </tr> @@ -130,26 +130,26 @@ <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="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=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="../../../snow.png" width=100 height=10 alt="0.0%"></td></tr></table> </td> - <td class="coverPerLo">25.7 %</td> - <td class="coverNumLo">98 / 382</td> - <td class="coverPerLo">57.1 %</td> - <td class="coverNumLo">8 / 14</td> + <td class="coverPerLo">0.0 %</td> + <td class="coverNumLo">0 / 419</td> + <td class="coverPerLo">0.0 %</td> + <td class="coverNumLo">0 / 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="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=39 height=10 alt="38.6%"><img src="../../../snow.png" width=61 height=10 alt="38.6%"></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">38.6 %</td> - <td class="coverNumLo">71 / 184</td> - <td class="coverPerLo">46.2 %</td> - <td class="coverNumLo">6 / 13</td> + <td class="coverPerLo">44.7 %</td> + <td class="coverNumLo">192 / 430</td> + <td class="coverPerLo">53.6 %</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-sort-f.html b/coverage-report/external/ffspart/libflash/index-sort-f.html index 658dbf6..b87643e 100644 --- a/coverage-report/external/ffspart/libflash/index-sort-f.html +++ b/coverage-report/external/ffspart/libflash/index-sort-f.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">30</td> diff --git a/coverage-report/external/ffspart/libflash/index-sort-l.html b/coverage-report/external/ffspart/libflash/index-sort-l.html index c746341..fea94f8 100644 --- a/coverage-report/external/ffspart/libflash/index-sort-l.html +++ b/coverage-report/external/ffspart/libflash/index-sort-l.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">30</td> diff --git a/coverage-report/external/ffspart/libflash/index.html b/coverage-report/external/ffspart/libflash/index.html index bebe523..ba4724f 100644 --- a/coverage-report/external/ffspart/libflash/index.html +++ b/coverage-report/external/ffspart/libflash/index.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">30</td> 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 4c393d4..66a28be 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 @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">15</td> diff --git a/coverage-report/external/ffspart/libflash/libffs.c.func.html b/coverage-report/external/ffspart/libflash/libffs.c.func.html index 362af37..a5c07b5 100644 --- a/coverage-report/external/ffspart/libflash/libffs.c.func.html +++ b/coverage-report/external/ffspart/libflash/libffs.c.func.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">15</td> diff --git a/coverage-report/external/ffspart/libflash/libffs.c.gcov.html b/coverage-report/external/ffspart/libflash/libffs.c.gcov.html index 17f5571..78793c1 100644 --- a/coverage-report/external/ffspart/libflash/libffs.c.gcov.html +++ b/coverage-report/external/ffspart/libflash/libffs.c.gcov.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">15</td> 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 33a033e..e0e0811 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 @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">0</td> diff --git a/coverage-report/external/ffspart/libflash/libflash.c.func.html b/coverage-report/external/ffspart/libflash/libflash.c.func.html index 7666b31..8eb2dbf 100644 --- a/coverage-report/external/ffspart/libflash/libflash.c.func.html +++ b/coverage-report/external/ffspart/libflash/libflash.c.func.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">0</td> diff --git a/coverage-report/external/ffspart/libflash/libflash.c.gcov.html b/coverage-report/external/ffspart/libflash/libflash.c.gcov.html index 7f24999..19f38ab 100644 --- a/coverage-report/external/ffspart/libflash/libflash.c.gcov.html +++ b/coverage-report/external/ffspart/libflash/libflash.c.gcov.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">0</td> 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 ac6563d..dad69cf 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 @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 33be829..c5e9a6b 100644 --- a/coverage-report/external/gard/ccan/endian/endian.h.func.html +++ b/coverage-report/external/gard/ccan/endian/endian.h.func.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 08c8ed9..6248d98 100644 --- a/coverage-report/external/gard/ccan/endian/endian.h.gcov.html +++ b/coverage-report/external/gard/ccan/endian/endian.h.gcov.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">2</td> 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 71a6765..68edcb7 100644 --- a/coverage-report/external/gard/ccan/endian/index-sort-b.html +++ b/coverage-report/external/gard/ccan/endian/index-sort-b.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">2</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 8810ee7..7b54e4c 100644 --- a/coverage-report/external/gard/ccan/endian/index-sort-f.html +++ b/coverage-report/external/gard/ccan/endian/index-sort-f.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">2</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 c31f736..b5eddf3 100644 --- a/coverage-report/external/gard/ccan/endian/index-sort-l.html +++ b/coverage-report/external/gard/ccan/endian/index-sort-l.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">2</td> diff --git a/coverage-report/external/gard/ccan/endian/index.html b/coverage-report/external/gard/ccan/endian/index.html index 4b8210d..dac753a 100644 --- a/coverage-report/external/gard/ccan/endian/index.html +++ b/coverage-report/external/gard/ccan/endian/index.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">2</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 7f5e160..d16fbda 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 3057651..64644b5 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 5755020..520aefe 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 ef687c2..b79d05e 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 fb03d9e..2c00bb6 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 dea82b6..44c05a3 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 d603b92..680b897 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 3cbf63b..53b5201 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 5081866..e90e3cd 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 313b613..930b4da 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 43ee7af..4fd8d8a 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 222b961..3b125c2 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 34bf93e..5a883f0 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 107ec36..bd2cc6c 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">2</td> diff --git a/coverage-report/external/gard/common/index-sort-f.html b/coverage-report/external/gard/common/index-sort-f.html index cec4c41..c848f66 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 de39955..34c02c2 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 c5a7a15..4db7980 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 60c3efa..20da8be 100644 --- a/coverage-report/external/gard/gard.c.func-sort-c.html +++ b/coverage-report/external/gard/gard.c.func-sort-c.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">23</td> diff --git a/coverage-report/external/gard/gard.c.func.html b/coverage-report/external/gard/gard.c.func.html index a109211..6f7d86c 100644 --- a/coverage-report/external/gard/gard.c.func.html +++ b/coverage-report/external/gard/gard.c.func.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">23</td> diff --git a/coverage-report/external/gard/gard.c.gcov.html b/coverage-report/external/gard/gard.c.gcov.html index 57398ae..f44069e 100644 --- a/coverage-report/external/gard/gard.c.gcov.html +++ b/coverage-report/external/gard/gard.c.gcov.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">23</td> diff --git a/coverage-report/external/gard/index-sort-b.html b/coverage-report/external/gard/index-sort-b.html index 9bce802..8c70f0f 100644 --- a/coverage-report/external/gard/index-sort-b.html +++ b/coverage-report/external/gard/index-sort-b.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">23</td> diff --git a/coverage-report/external/gard/index-sort-f.html b/coverage-report/external/gard/index-sort-f.html index 7da1769..c4bd189 100644 --- a/coverage-report/external/gard/index-sort-f.html +++ b/coverage-report/external/gard/index-sort-f.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">23</td> diff --git a/coverage-report/external/gard/index-sort-l.html b/coverage-report/external/gard/index-sort-l.html index 60d5c02..babd987 100644 --- a/coverage-report/external/gard/index-sort-l.html +++ b/coverage-report/external/gard/index-sort-l.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">23</td> diff --git a/coverage-report/external/gard/index.html b/coverage-report/external/gard/index.html index adc5a54..a34bf1d 100644 --- a/coverage-report/external/gard/index.html +++ b/coverage-report/external/gard/index.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">23</td> 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 8a30731..2cc0b28 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 @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">13</td> diff --git a/coverage-report/external/gard/libflash/blocklevel.c.func.html b/coverage-report/external/gard/libflash/blocklevel.c.func.html index bed33f8..ba045ba 100644 --- a/coverage-report/external/gard/libflash/blocklevel.c.func.html +++ b/coverage-report/external/gard/libflash/blocklevel.c.func.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">13</td> diff --git a/coverage-report/external/gard/libflash/blocklevel.c.gcov.html b/coverage-report/external/gard/libflash/blocklevel.c.gcov.html index ed5cc55..3b80a39 100644 --- a/coverage-report/external/gard/libflash/blocklevel.c.gcov.html +++ b/coverage-report/external/gard/libflash/blocklevel.c.gcov.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">13</td> 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 de19c99..69a7c64 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 @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">5</td> diff --git a/coverage-report/external/gard/libflash/ecc.c.func.html b/coverage-report/external/gard/libflash/ecc.c.func.html index a4caf74..e5a5543 100644 --- a/coverage-report/external/gard/libflash/ecc.c.func.html +++ b/coverage-report/external/gard/libflash/ecc.c.func.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">5</td> diff --git a/coverage-report/external/gard/libflash/ecc.c.gcov.html b/coverage-report/external/gard/libflash/ecc.c.gcov.html index b6d2dbb..974a251 100644 --- a/coverage-report/external/gard/libflash/ecc.c.gcov.html +++ b/coverage-report/external/gard/libflash/ecc.c.gcov.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">5</td> 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 b84db29..d478cc4 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 a838b84..0aa7832 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 5c85960..c09bb2a 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 90e87f3..6acb362 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 @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">8</td> diff --git a/coverage-report/external/gard/libflash/file.c.func.html b/coverage-report/external/gard/libflash/file.c.func.html index bc15cd0..bb85801 100644 --- a/coverage-report/external/gard/libflash/file.c.func.html +++ b/coverage-report/external/gard/libflash/file.c.func.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">8</td> diff --git a/coverage-report/external/gard/libflash/file.c.gcov.html b/coverage-report/external/gard/libflash/file.c.gcov.html index e44c748..b21b0ae 100644 --- a/coverage-report/external/gard/libflash/file.c.gcov.html +++ b/coverage-report/external/gard/libflash/file.c.gcov.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">8</td> diff --git a/coverage-report/external/gard/libflash/index-sort-b.html b/coverage-report/external/gard/libflash/index-sort-b.html index a8fc2db..203afe4 100644 --- a/coverage-report/external/gard/libflash/index-sort-b.html +++ b/coverage-report/external/gard/libflash/index-sort-b.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">26</td> @@ -82,14 +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="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=49 height=10 alt="48.9%"><img src="../../../snow.png" width=51 height=10 alt="48.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="coverPerLo">48.9 %</td> - <td class="coverNumLo">90 / 184</td> - <td class="coverPerLo">61.5 %</td> - <td class="coverNumLo">8 / 13</td> + <td class="coverPerMed">75.0 %</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> + <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 %</td> + <td class="coverNumLo">53 / 105</td> + <td class="coverPerMed">83.3 %</td> + <td class="coverNumMed">5 / 6</td> <td class="coverPerHi">-</td> <td class="coverNumHi">0 / 0</td> </tr> @@ -106,14 +118,14 @@ <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 %</td> - <td class="coverNumMed">6 / 8</td> - <td class="coverPerHi">-</td> - <td class="coverNumHi">0 / 0</td> + <td class="coverPerLo">48.9 %</td> + <td class="coverNumLo">90 / 184</td> + <td class="coverPerLo">61.5 %</td> + <td class="coverNumLo">8 / 13</td> <td class="coverPerHi">-</td> <td class="coverNumHi">0 / 0</td> </tr> @@ -130,18 +142,6 @@ <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 %</td> - <td class="coverNumLo">53 / 105</td> - <td class="coverPerMed">83.3 %</td> - <td class="coverNumMed">5 / 6</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="../../../snow.png" width=100 height=10 alt="0.0%"></td></tr></table> diff --git a/coverage-report/external/gard/libflash/index-sort-f.html b/coverage-report/external/gard/libflash/index-sort-f.html index ca92c14..e1b78c4 100644 --- a/coverage-report/external/gard/libflash/index-sort-f.html +++ b/coverage-report/external/gard/libflash/index-sort-f.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">26</td> diff --git a/coverage-report/external/gard/libflash/index-sort-l.html b/coverage-report/external/gard/libflash/index-sort-l.html index 64b4ef5..c68d2b8 100644 --- a/coverage-report/external/gard/libflash/index-sort-l.html +++ b/coverage-report/external/gard/libflash/index-sort-l.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">26</td> diff --git a/coverage-report/external/gard/libflash/index.html b/coverage-report/external/gard/libflash/index.html index 23316c6..5589c83 100644 --- a/coverage-report/external/gard/libflash/index.html +++ b/coverage-report/external/gard/libflash/index.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">26</td> 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 0ac0b97..566a3d1 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 @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">0</td> diff --git a/coverage-report/external/gard/libflash/libffs.c.func.html b/coverage-report/external/gard/libflash/libffs.c.func.html index f523626..de8fe4c 100644 --- a/coverage-report/external/gard/libflash/libffs.c.func.html +++ b/coverage-report/external/gard/libflash/libffs.c.func.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">0</td> diff --git a/coverage-report/external/gard/libflash/libffs.c.gcov.html b/coverage-report/external/gard/libflash/libffs.c.gcov.html index 199915e..2549a71 100644 --- a/coverage-report/external/gard/libflash/libffs.c.gcov.html +++ b/coverage-report/external/gard/libflash/libffs.c.gcov.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">0</td> 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 ecc5655..67d2c93 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 @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">0</td> diff --git a/coverage-report/external/gard/libflash/libflash.c.func.html b/coverage-report/external/gard/libflash/libflash.c.func.html index de49947..7801601 100644 --- a/coverage-report/external/gard/libflash/libflash.c.func.html +++ b/coverage-report/external/gard/libflash/libflash.c.func.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">0</td> diff --git a/coverage-report/external/gard/libflash/libflash.c.gcov.html b/coverage-report/external/gard/libflash/libflash.c.gcov.html index f4752c0..da4efa6 100644 --- a/coverage-report/external/gard/libflash/libflash.c.gcov.html +++ b/coverage-report/external/gard/libflash/libflash.c.gcov.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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-sort-c.html b/coverage-report/external/pflash/ccan/endian/endian.h.func-sort-c.html index 71048d9..ef1bb9b 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 @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 302f098..1700684 100644 --- a/coverage-report/external/pflash/ccan/endian/endian.h.func.html +++ b/coverage-report/external/pflash/ccan/endian/endian.h.func.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 b0f589f..2ab7e7c 100644 --- a/coverage-report/external/pflash/ccan/endian/endian.h.gcov.html +++ b/coverage-report/external/pflash/ccan/endian/endian.h.gcov.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">0</td> 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 b4a2df3..80f9edd 100644 --- a/coverage-report/external/pflash/ccan/endian/index-sort-b.html +++ b/coverage-report/external/pflash/ccan/endian/index-sort-b.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">0</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 86b455f..39abf2d 100644 --- a/coverage-report/external/pflash/ccan/endian/index-sort-f.html +++ b/coverage-report/external/pflash/ccan/endian/index-sort-f.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">0</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 6a82565..e1027be 100644 --- a/coverage-report/external/pflash/ccan/endian/index-sort-l.html +++ b/coverage-report/external/pflash/ccan/endian/index-sort-l.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">0</td> diff --git a/coverage-report/external/pflash/ccan/endian/index.html b/coverage-report/external/pflash/ccan/endian/index.html index 8f55792..3e5f481 100644 --- a/coverage-report/external/pflash/ccan/endian/index.html +++ b/coverage-report/external/pflash/ccan/endian/index.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">0</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 875a921..209df7c 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 e5a5ded..b49ffd2 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 fd6483a..555d22a 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 45a04be..59bc031 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 9f13063..5b31517 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 dd1f0ab..104feec 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 cdd75c6..6d10afc 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 e62eef4..f85428c 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 3becc5e..faf060f 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 a7c10ee..76ec67a 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 d8e3875..4caa945 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 6d82535..776bfc7 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 0d11581..7cae54e 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 f8d1513..a4f0e42 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">2</td> diff --git a/coverage-report/external/pflash/common/index-sort-f.html b/coverage-report/external/pflash/common/index-sort-f.html index a82c4bb..a329b24 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 89ccd02..130283c 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 e35777d..9cb6cbf 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 ed616e2..51489b6 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">15</td> diff --git a/coverage-report/external/pflash/index-sort-f.html b/coverage-report/external/pflash/index-sort-f.html index 3bdb926..33778ba 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 98406b6..dc6b0b3 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 326051c..3aba002 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 618856d..1eb8274 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 @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">11</td> diff --git a/coverage-report/external/pflash/libflash/blocklevel.c.func.html b/coverage-report/external/pflash/libflash/blocklevel.c.func.html index 1832328..e8b5e6a 100644 --- a/coverage-report/external/pflash/libflash/blocklevel.c.func.html +++ b/coverage-report/external/pflash/libflash/blocklevel.c.func.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">11</td> diff --git a/coverage-report/external/pflash/libflash/blocklevel.c.gcov.html b/coverage-report/external/pflash/libflash/blocklevel.c.gcov.html index 8cb4f8b..6b8a722 100644 --- a/coverage-report/external/pflash/libflash/blocklevel.c.gcov.html +++ b/coverage-report/external/pflash/libflash/blocklevel.c.gcov.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">11</td> 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 16cb96f..f891d64 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 @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">0</td> diff --git a/coverage-report/external/pflash/libflash/ecc.c.func.html b/coverage-report/external/pflash/libflash/ecc.c.func.html index ebdb91c..54eba87 100644 --- a/coverage-report/external/pflash/libflash/ecc.c.func.html +++ b/coverage-report/external/pflash/libflash/ecc.c.func.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">0</td> diff --git a/coverage-report/external/pflash/libflash/ecc.c.gcov.html b/coverage-report/external/pflash/libflash/ecc.c.gcov.html index f868040..91442d9 100644 --- a/coverage-report/external/pflash/libflash/ecc.c.gcov.html +++ b/coverage-report/external/pflash/libflash/ecc.c.gcov.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">0</td> 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 530b0c0..f1a84cc 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 bbcc124..081da2f 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 5e1930f..41b3b22 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 4ab388c..28b137b 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 @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">9</td> diff --git a/coverage-report/external/pflash/libflash/file.c.func.html b/coverage-report/external/pflash/libflash/file.c.func.html index aaa3d29..e49a841 100644 --- a/coverage-report/external/pflash/libflash/file.c.func.html +++ b/coverage-report/external/pflash/libflash/file.c.func.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">9</td> diff --git a/coverage-report/external/pflash/libflash/file.c.gcov.html b/coverage-report/external/pflash/libflash/file.c.gcov.html index 7e44ac0..a0b3cd1 100644 --- a/coverage-report/external/pflash/libflash/file.c.gcov.html +++ b/coverage-report/external/pflash/libflash/file.c.gcov.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">9</td> diff --git a/coverage-report/external/pflash/libflash/index-sort-b.html b/coverage-report/external/pflash/libflash/index-sort-b.html index a9b1ddb..2aff692 100644 --- a/coverage-report/external/pflash/libflash/index-sort-b.html +++ b/coverage-report/external/pflash/libflash/index-sort-b.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">37</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="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=59 height=10 alt="58.7%"><img src="../../../snow.png" width=41 height=10 alt="58.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">58.7 %</td> - <td class="coverNumLo">108 / 184</td> - <td class="coverPerLo">69.2 %</td> - <td class="coverNumLo">9 / 13</td> + <td class="coverPerLo">48.4 %</td> + <td class="coverNumLo">208 / 430</td> + <td class="coverPerLo">60.7 %</td> + <td class="coverNumLo">17 / 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="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=24 height=10 alt="24.3%"><img src="../../../snow.png" width=76 height=10 alt="24.3%"></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">24.3 %</td> - <td class="coverNumLo">93 / 382</td> - <td class="coverPerMed">78.6 %</td> - <td class="coverNumMed">11 / 14</td> + <td class="coverPerLo">0.0 %</td> + <td class="coverNumLo">0 / 419</td> + <td class="coverPerLo">0.0 %</td> + <td class="coverNumLo">0 / 24</td> <td class="coverPerHi">-</td> <td class="coverNumHi">0 / 0</td> </tr> @@ -118,38 +118,38 @@ <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=48 height=10 alt="48.4%"><img src="../../../snow.png" width=52 height=10 alt="48.4%"></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">48.4 %</td> - <td class="coverNumLo">208 / 430</td> - <td class="coverPerLo">60.7 %</td> - <td class="coverNumLo">17 / 28</td> + <td class="coverPerLo">24.3 %</td> + <td class="coverNumLo">93 / 382</td> + <td class="coverPerMed">78.6 %</td> + <td class="coverNumMed">11 / 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="../../../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 %</td> - <td class="coverNumLo">0 / 105</td> - <td class="coverPerLo">0.0 %</td> - <td class="coverNumLo">0 / 6</td> + <td class="coverPerLo">58.7 %</td> + <td class="coverNumLo">108 / 184</td> + <td class="coverPerLo">69.2 %</td> + <td class="coverNumLo">9 / 13</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="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> </td> <td class="coverPerLo">0.0 %</td> - <td class="coverNumLo">0 / 419</td> + <td class="coverNumLo">0 / 105</td> <td class="coverPerLo">0.0 %</td> - <td class="coverNumLo">0 / 24</td> + <td class="coverNumLo">0 / 6</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 3f9b243..d0f7a1e 100644 --- a/coverage-report/external/pflash/libflash/index-sort-f.html +++ b/coverage-report/external/pflash/libflash/index-sort-f.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">37</td> diff --git a/coverage-report/external/pflash/libflash/index-sort-l.html b/coverage-report/external/pflash/libflash/index-sort-l.html index fcfca9e..3849462 100644 --- a/coverage-report/external/pflash/libflash/index-sort-l.html +++ b/coverage-report/external/pflash/libflash/index-sort-l.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">37</td> diff --git a/coverage-report/external/pflash/libflash/index.html b/coverage-report/external/pflash/libflash/index.html index 459f4d3..b405d63 100644 --- a/coverage-report/external/pflash/libflash/index.html +++ b/coverage-report/external/pflash/libflash/index.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">37</td> 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 7e0eef9..71d70cb 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 @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">17</td> diff --git a/coverage-report/external/pflash/libflash/libffs.c.func.html b/coverage-report/external/pflash/libflash/libffs.c.func.html index ba4a5bd..80781c0 100644 --- a/coverage-report/external/pflash/libflash/libffs.c.func.html +++ b/coverage-report/external/pflash/libflash/libffs.c.func.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">17</td> diff --git a/coverage-report/external/pflash/libflash/libffs.c.gcov.html b/coverage-report/external/pflash/libflash/libffs.c.gcov.html index 123b0cf..5d2e590 100644 --- a/coverage-report/external/pflash/libflash/libffs.c.gcov.html +++ b/coverage-report/external/pflash/libflash/libffs.c.gcov.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">17</td> 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 0450ebe..4464818 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 @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">0</td> diff --git a/coverage-report/external/pflash/libflash/libflash.c.func.html b/coverage-report/external/pflash/libflash/libflash.c.func.html index 8b9aefc..e6916f4 100644 --- a/coverage-report/external/pflash/libflash/libflash.c.func.html +++ b/coverage-report/external/pflash/libflash/libflash.c.func.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">0</td> diff --git a/coverage-report/external/pflash/libflash/libflash.c.gcov.html b/coverage-report/external/pflash/libflash/libflash.c.gcov.html index 0bbff25..ffaa329 100644 --- a/coverage-report/external/pflash/libflash/libflash.c.gcov.html +++ b/coverage-report/external/pflash/libflash/libflash.c.gcov.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">0</td> 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 917678b..c3e5755 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 b993981..ff5675e 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 122a8e8..4d71776 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 15fc50f..b51f823 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 de30140..fd675a6 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 922bdcc..b7a8da5 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 38812d3..b3cb40a 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 f9f575d..378fbfb 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 80d7b00..9334122 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 4f08ad1..346580e 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 99d4140..342269b 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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#45">trace_get</a></td> - <td class="coverFnHi">4075474</td> + <td class="coverFnHi">4015996</td> </tr> <tr> <td class="coverFn"><a href="trace.c.gcov.html#19">trace_empty</a></td> - <td class="coverFnHi">4075478</td> + <td class="coverFnHi">4016000</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 28b3a66..0d01a14 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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">4075478</td> + <td class="coverFnHi">4016000</td> </tr> <tr> <td class="coverFn"><a href="trace.c.gcov.html#45">trace_get</a></td> - <td class="coverFnHi">4075474</td> + <td class="coverFnHi">4015996</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 2ac85de..d0725ee 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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"> 4075478 : bool trace_empty(const struct trace_reader *tr)</span></a> +<a name="21"><span class="lineNum"> 21 </span> :<span class="lineCov"> 4016000 : 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"> 4075478 : if (tr->rpos == be64_to_cpu(tr->tb->end))</span></a> -<a name="26"><span class="lineNum"> 26 </span> :<span class="lineCov"> 21663 : return true;</span></a> +<a name="25"><span class="lineNum"> 25 </span> :<span class="lineCov"> 4016000 : if (tr->rpos == be64_to_cpu(tr->tb->end))</span></a> +<a name="26"><span class="lineNum"> 26 </span> :<span class="lineCov"> 3312 : 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"> 4053815 : rep = (void *)tr->tb->buf + tr->rpos % be64_to_cpu(tr->tb->buf_size);</span></a> -<a name="34"><span class="lineNum"> 34 </span> :<span class="lineCov"> 4053815 : if (be64_to_cpu(tr->tb->end) != tr->rpos + sizeof(*rep))</span></a> -<a name="35"><span class="lineNum"> 35 </span> :<span class="lineCov"> 1958388 : return false;</span></a> +<a name="33"><span class="lineNum"> 33 </span> :<span class="lineCov"> 4012688 : rep = (void *)tr->tb->buf + tr->rpos % be64_to_cpu(tr->tb->buf_size);</span></a> +<a name="34"><span class="lineNum"> 34 </span> :<span class="lineCov"> 4012688 : if (be64_to_cpu(tr->tb->end) != tr->rpos + sizeof(*rep))</span></a> +<a name="35"><span class="lineNum"> 35 </span> :<span class="lineCov"> 1919831 : return false;</span></a> <a name="36"><span class="lineNum"> 36 </span> : : </a> -<a name="37"><span class="lineNum"> 37 </span> :<span class="lineCov"> 2095427 : if (rep->type != TRACE_REPEAT)</span></a> -<a name="38"><span class="lineNum"> 38 </span> :<span class="lineCov"> 8 : return false;</span></a> +<a name="37"><span class="lineNum"> 37 </span> :<span class="lineCov"> 2092857 : if (rep->type != TRACE_REPEAT)</span></a> +<a name="38"><span class="lineNum"> 38 </span> :<span class="lineCov"> 7 : return false;</span></a> <a name="39"><span class="lineNum"> 39 </span> : : </a> -<a name="40"><span class="lineNum"> 40 </span> :<span class="lineCov"> 2095419 : if (be16_to_cpu(rep->num) != tr->last_repeat)</span></a> -<a name="41"><span class="lineNum"> 41 </span> :<span class="lineCov"> 1048404 : return false;</span></a> +<a name="40"><span class="lineNum"> 40 </span> :<span class="lineCov"> 2092850 : if (be16_to_cpu(rep->num) != tr->last_repeat)</span></a> +<a name="41"><span class="lineNum"> 41 </span> :<span class="lineCov"> 1046427 : return false;</span></a> <a name="42"><span class="lineNum"> 42 </span> : : </a> -<a name="43"><span class="lineNum"> 43 </span> :<span class="lineCov"> 1047015 : return true;</span></a> +<a name="43"><span class="lineNum"> 43 </span> :<span class="lineCov"> 1046423 : 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"> 4075474 : bool trace_get(union trace *t, struct trace_reader *tr)</span></a> +<a name="47"><span class="lineNum"> 47 </span> :<span class="lineCov"> 4015996 : 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"> 8150948 : len = sizeof(*t) < be32_to_cpu(tr->tb->max_size) ? sizeof(*t) :</span></a> -<a name="53"><span class="lineNum"> 53 </span> :<span class="lineCov"> 4075474 : be32_to_cpu(tr->tb->max_size);</span></a> +<a name="52"><span class="lineNum"> 52 </span> :<span class="lineCov"> 8031992 : len = sizeof(*t) < be32_to_cpu(tr->tb->max_size) ? sizeof(*t) :</span></a> +<a name="53"><span class="lineNum"> 53 </span> :<span class="lineCov"> 4015996 : be32_to_cpu(tr->tb->max_size);</span></a> <a name="54"><span class="lineNum"> 54 </span> : : </a> -<a name="55"><span class="lineNum"> 55 </span> :<span class="lineCov"> 4075474 : if (trace_empty(tr))</span></a> -<a name="56"><span class="lineNum"> 56 </span> :<span class="lineCov"> 1068674 : return false;</span></a> +<a name="55"><span class="lineNum"> 55 </span> :<span class="lineCov"> 4015996 : if (trace_empty(tr))</span></a> +<a name="56"><span class="lineNum"> 56 </span> :<span class="lineCov"> 1049731 : return false;</span></a> <a name="57"><span class="lineNum"> 57 </span> : : </a> -<a name="58"><span class="lineNum"> 58 </span> :<span class="lineCov"> 3006800 : again:</span></a> +<a name="58"><span class="lineNum"> 58 </span> :<span class="lineCov"> 2966265 : 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"> 3719889 : memcpy(t, tr->tb->buf + tr->rpos % be64_to_cpu(tr->tb->buf_size), len);</span></a> +<a name="63"><span class="lineNum"> 63 </span> :<span class="lineCov"> 3679453 : memcpy(t, tr->tb->buf + tr->rpos % be64_to_cpu(tr->tb->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->tb->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"> 3719889 : start = be64_to_cpu(tr->tb->start);</span></a> -<a name="68"><span class="lineNum"> 68 </span> :<span class="lineCov"> 3719889 : rpos = tr->rpos;</span></a> +<a name="67"><span class="lineNum"> 67 </span> :<span class="lineCov"> 3679453 : start = be64_to_cpu(tr->tb->start);</span></a> +<a name="68"><span class="lineNum"> 68 </span> :<span class="lineCov"> 3679453 : rpos = tr->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"> 3719889 : if (rpos < start) {</span></a> +<a name="71"><span class="lineNum"> 71 </span> :<span class="lineCov"> 3679453 : if (rpos < 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"> 33 : t->overflow.unused64 = 0;</span></a> -<a name="74"><span class="lineNum"> 74 </span> :<span class="lineCov"> 33 : t->overflow.type = TRACE_OVERFLOW;</span></a> -<a name="75"><span class="lineNum"> 75 </span> :<span class="lineCov"> 33 : t->overflow.len_div_8 = sizeof(t->overflow) / 8;</span></a> -<a name="76"><span class="lineNum"> 76 </span> :<span class="lineCov"> 33 : t->overflow.bytes_missed = cpu_to_be64(start - rpos);</span></a> -<a name="77"><span class="lineNum"> 77 </span> :<span class="lineCov"> 33 : tr->rpos = start;</span></a> -<a name="78"><span class="lineNum"> 78 </span> :<span class="lineCov"> 33 : return true;</span></a> +<a name="73"><span class="lineNum"> 73 </span> :<span class="lineCov"> 25 : t->overflow.unused64 = 0;</span></a> +<a name="74"><span class="lineNum"> 74 </span> :<span class="lineCov"> 25 : t->overflow.type = TRACE_OVERFLOW;</span></a> +<a name="75"><span class="lineNum"> 75 </span> :<span class="lineCov"> 25 : t->overflow.len_div_8 = sizeof(t->overflow) / 8;</span></a> +<a name="76"><span class="lineNum"> 76 </span> :<span class="lineCov"> 25 : t->overflow.bytes_missed = cpu_to_be64(start - rpos);</span></a> +<a name="77"><span class="lineNum"> 77 </span> :<span class="lineCov"> 25 : tr->rpos = start;</span></a> +<a name="78"><span class="lineNum"> 78 </span> :<span class="lineCov"> 25 : 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"> 3719856 : if (t->hdr.type == TRACE_REPEAT) {</span></a> -<a name="83"><span class="lineNum"> 83 </span> :<span class="lineCov"> 2472589 : u32 num = be16_to_cpu(t->repeat.num);</span></a> +<a name="82"><span class="lineNum"> 82 </span> :<span class="lineCov"> 3679428 : if (t->hdr.type == TRACE_REPEAT) {</span></a> +<a name="83"><span class="lineNum"> 83 </span> :<span class="lineCov"> 2472786 : u32 num = be16_to_cpu(t->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"> 2472589 : t->repeat.num = cpu_to_be16(num - tr->last_repeat);</span></a> +<a name="86"><span class="lineNum"> 86 </span> :<span class="lineCov"> 2472786 : t->repeat.num = cpu_to_be16(num - tr->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"> 2472589 : tr->last_repeat = num;</span></a> +<a name="89"><span class="lineNum"> 89 </span> :<span class="lineCov"> 2472786 : tr->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"> 2472589 : if (t->repeat.num == 0) {</span></a> +<a name="92"><span class="lineNum"> 92 </span> :<span class="lineCov"> 2472786 : if (t->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"> 713089 : assert(be64_to_cpu(tr->tb->end) ></span></a> +<a name="97"><span class="lineNum"> 97 </span> :<span class="lineCov"> 713188 : assert(be64_to_cpu(tr->tb->end) ></span></a> <a name="98"><span class="lineNum"> 98 </span> : : rpos + t->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"> 713089 : tr->rpos = rpos + t->hdr.len_div_8 * 8;</span></a> -<a name="101"><span class="lineNum"> 101 </span> :<span class="lineCov"> 713089 : tr->last_repeat = 0;</span></a> -<a name="102"><span class="lineNum"> 102 </span> :<span class="lineCov"> 713089 : goto again;</span></a> +<a name="100"><span class="lineNum"> 100 </span> :<span class="lineCov"> 713188 : tr->rpos = rpos + t->hdr.len_div_8 * 8;</span></a> +<a name="101"><span class="lineNum"> 101 </span> :<span class="lineCov"> 713188 : tr->last_repeat = 0;</span></a> +<a name="102"><span class="lineNum"> 102 </span> :<span class="lineCov"> 713188 : 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"> 1247267 : tr->last_repeat = 0;</span></a> -<a name="106"><span class="lineNum"> 106 </span> :<span class="lineCov"> 1247267 : tr->rpos = rpos + t->hdr.len_div_8 * 8;</span></a> +<a name="105"><span class="lineNum"> 105 </span> :<span class="lineCov"> 1206642 : tr->last_repeat = 0;</span></a> +<a name="106"><span class="lineNum"> 106 </span> :<span class="lineCov"> 1206642 : tr->rpos = rpos + t->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"> 3006767 : return true;</span></a> +<a name="109"><span class="lineNum"> 109 </span> :<span class="lineCov"> 2966240 : 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 70f9660..f083d2d 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">6</td> @@ -78,27 +78,27 @@ </tr> <tr> <td class="coverFn"><a href="cpu-common.c.gcov.html#206">add_core_attr</a></td> - <td class="coverFnHi">26</td> + <td class="coverFnHi">6</td> </tr> <tr> <td class="coverFn"><a href="cpu-common.c.gcov.html#321">add_core_cache_info</a></td> - <td class="coverFnHi">26</td> + <td class="coverFnHi">6</td> </tr> <tr> <td class="coverFn"><a href="cpu-common.c.gcov.html#10">add_core_common</a></td> - <td class="coverFnHi">26</td> + <td class="coverFnHi">6</td> </tr> <tr> <td class="coverFn"><a href="cpu-common.c.gcov.html#290">l2_cache_node</a></td> - <td class="coverFnHi">26</td> + <td class="coverFnHi">6</td> </tr> <tr> <td class="coverFn"><a href="cpu-common.c.gcov.html#267">l3_cache_node</a></td> - <td class="coverFnHi">26</td> + <td class="coverFnHi">6</td> </tr> <tr> <td class="coverFn"><a href="cpu-common.c.gcov.html#220">create_cache_node</a></td> - <td class="coverFnHi">52</td> + <td class="coverFnHi">12</td> </tr> </table> <br> diff --git a/coverage-report/hdata/cpu-common.c.func.html b/coverage-report/hdata/cpu-common.c.func.html index d0bac41..f0ad37e 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">6</td> @@ -70,19 +70,19 @@ </tr> <tr> <td class="coverFn"><a href="cpu-common.c.gcov.html#206">add_core_attr</a></td> - <td class="coverFnHi">26</td> + <td class="coverFnHi">6</td> </tr> <tr> <td class="coverFn"><a href="cpu-common.c.gcov.html#321">add_core_cache_info</a></td> - <td class="coverFnHi">26</td> + <td class="coverFnHi">6</td> </tr> <tr> <td class="coverFn"><a href="cpu-common.c.gcov.html#10">add_core_common</a></td> - <td class="coverFnHi">26</td> + <td class="coverFnHi">6</td> </tr> <tr> <td class="coverFn"><a href="cpu-common.c.gcov.html#220">create_cache_node</a></td> - <td class="coverFnHi">52</td> + <td class="coverFnHi">12</td> </tr> <tr> <td class="coverFn"><a href="cpu-common.c.gcov.html#313">find_l2_node</a></td> @@ -90,7 +90,7 @@ </tr> <tr> <td class="coverFn"><a href="cpu-common.c.gcov.html#290">l2_cache_node</a></td> - <td class="coverFnHi">26</td> + <td class="coverFnHi">6</td> </tr> <tr> <td class="coverFn"><a href="cpu-common.c.gcov.html#244">l35_cache_node</a></td> @@ -98,7 +98,7 @@ </tr> <tr> <td class="coverFn"><a href="cpu-common.c.gcov.html#267">l3_cache_node</a></td> - <td class="coverFnHi">26</td> + <td class="coverFnHi">6</td> </tr> </table> <br> diff --git a/coverage-report/hdata/cpu-common.c.gcov.html b/coverage-report/hdata/cpu-common.c.gcov.html index 068c621..d6a2b73 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">6</td> @@ -80,7 +80,7 @@ <a name="9"><span class="lineNum"> 9 </span> : : </a> <a name="10"><span class="lineNum"> 10 </span> : : #include "hdata.h"</a> <a name="11"><span class="lineNum"> 11 </span> : : </a> -<a name="12"><span class="lineNum"> 12 </span> :<span class="lineCov"> 26 : struct dt_node * add_core_common(struct dt_node *cpus,</span></a> +<a name="12"><span class="lineNum"> 12 </span> :<span class="lineCov"> 6 : struct dt_node * add_core_common(struct dt_node *cpus,</span></a> <a name="13"><span class="lineNum"> 13 </span> : : const struct sppcia_cpu_cache *cache,</a> <a name="14"><span class="lineNum"> 14 </span> : : const struct sppcia_cpu_timebase *tb,</a> <a name="15"><span class="lineNum"> 15 </span> : : uint32_t int_server, bool okay)</a> @@ -89,13 +89,13 @@ <a name="18"><span class="lineNum"> 18 </span> : : struct dt_node *cpu;</a> <a name="19"><span class="lineNum"> 19 </span> : : uint32_t version;</a> <a name="20"><span class="lineNum"> 20 </span> : : uint64_t freq;</a> -<a name="21"><span class="lineNum"> 21 </span> :<span class="lineCov"> 26 : const uint8_t pa_features_p8[] = {</span></a> +<a name="21"><span class="lineNum"> 21 </span> :<span class="lineCov"> 6 : const uint8_t pa_features_p8[] = {</span></a> <a name="22"><span class="lineNum"> 22 </span> : : 24, 0,</a> <a name="23"><span class="lineNum"> 23 </span> : : 0xf6, 0x3f, 0xc7, 0xc0, 0x80, 0xd0, 0x80, 0x00,</a> <a name="24"><span class="lineNum"> 24 </span> : : 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,</a> <a name="25"><span class="lineNum"> 25 </span> : : 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00,</a> <a name="26"><span class="lineNum"> 26 </span> : : };</a> -<a name="27"><span class="lineNum"> 27 </span> :<span class="lineCov"> 26 : const uint8_t pa_features_p9n_dd20[] = {</span></a> +<a name="27"><span class="lineNum"> 27 </span> :<span class="lineCov"> 6 : const uint8_t pa_features_p9n_dd20[] = {</span></a> <a name="28"><span class="lineNum"> 28 </span> : : 64, 0,</a> <a name="29"><span class="lineNum"> 29 </span> : : 0xf6, 0x3f, 0xc7, 0xc0, 0x80, 0xd0, 0x80, 0x00, /* 0 .. 7 */</a> <a name="30"><span class="lineNum"> 30 </span> : : 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 8 .. 15 */</a> @@ -106,7 +106,7 @@ <a name="35"><span class="lineNum"> 35 </span> : : 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, /* 48 .. 55 */</a> <a name="36"><span class="lineNum"> 36 </span> : : 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, /* 56 .. 63 */</a> <a name="37"><span class="lineNum"> 37 </span> : : };</a> -<a name="38"><span class="lineNum"> 38 </span> :<span class="lineCov"> 26 : const uint8_t pa_features_p9[] = {</span></a> +<a name="38"><span class="lineNum"> 38 </span> :<span class="lineCov"> 6 : const uint8_t pa_features_p9[] = {</span></a> <a name="39"><span class="lineNum"> 39 </span> : : 64, 0,</a> <a name="40"><span class="lineNum"> 40 </span> : : 0xf6, 0x3f, 0xc7, 0xc0, 0x80, 0xd0, 0x80, 0x00, /* 0 .. 7 */</a> <a name="41"><span class="lineNum"> 41 </span> : : 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 8 .. 15 */</a> @@ -117,7 +117,7 @@ <a name="46"><span class="lineNum"> 46 </span> : : 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, /* 48 .. 55 */</a> <a name="47"><span class="lineNum"> 47 </span> : : 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, /* 56 .. 63 */</a> <a name="48"><span class="lineNum"> 48 </span> : : };</a> -<a name="49"><span class="lineNum"> 49 </span> :<span class="lineCov"> 26 : const uint8_t pa_features_p10[] = {</span></a> +<a name="49"><span class="lineNum"> 49 </span> :<span class="lineCov"> 6 : const uint8_t pa_features_p10[] = {</span></a> <a name="50"><span class="lineNum"> 50 </span> : : 66, 0,</a> <a name="51"><span class="lineNum"> 51 </span> : : 0xf6, 0x3f, 0xc7, 0xc0, 0x80, 0xd0, 0x80, 0x00, /* 0 .. 7 */</a> <a name="52"><span class="lineNum"> 52 </span> : : 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 8 .. 15 */</a> @@ -133,7 +133,7 @@ <a name="62"><span class="lineNum"> 62 </span> : : const uint8_t *pa_features;</a> <a name="63"><span class="lineNum"> 63 </span> : : size_t pa_features_size;</a> <a name="64"><span class="lineNum"> 64 </span> : : </a> -<a name="65"><span class="lineNum"> 65 </span> :<span class="lineCov"> 26 : prlog(PR_INFO, " Cache: I=%u D=%u/%u/%u/%u\n",</span></a> +<a name="65"><span class="lineNum"> 65 </span> :<span class="lineCov"> 6 : prlog(PR_INFO, " Cache: I=%u D=%u/%u/%u/%u\n",</span></a> <a name="66"><span class="lineNum"> 66 </span> : : be32_to_cpu(cache->icache_size_kb),</a> <a name="67"><span class="lineNum"> 67 </span> : : be32_to_cpu(cache->l1_dcache_size_kb),</a> <a name="68"><span class="lineNum"> 68 </span> : : be32_to_cpu(cache->l2_dcache_size_kb),</a> @@ -143,15 +143,15 @@ <a name="72"><span class="lineNum"> 72 </span> : : /* Use the boot CPU PVR to make up a CPU name in the device-tree</a> <a name="73"><span class="lineNum"> 73 </span> : : * since the HDAT doesn't seem to tell....</a> <a name="74"><span class="lineNum"> 74 </span> : : */</a> -<a name="75"><span class="lineNum"> 75 </span> :<span class="lineCov"> 26 : version = mfspr(SPR_PVR);</span></a> -<a name="76"><span class="lineNum"> 76 </span> :<span class="lineCov"> 26 : switch(PVR_TYPE(version)) {</span></a> -<a name="77"><span class="lineNum"> 77 </span> :<span class="lineCov"> 26 : case PVR_TYPE_P8E:</span></a> +<a name="75"><span class="lineNum"> 75 </span> :<span class="lineCov"> 6 : version = mfspr(SPR_PVR);</span></a> +<a name="76"><span class="lineNum"> 76 </span> :<span class="lineCov"> 6 : switch(PVR_TYPE(version)) {</span></a> +<a name="77"><span class="lineNum"> 77 </span> :<span class="lineCov"> 6 : case PVR_TYPE_P8E:</span></a> <a name="78"><span class="lineNum"> 78 </span> : : case PVR_TYPE_P8:</a> <a name="79"><span class="lineNum"> 79 </span> : : case PVR_TYPE_P8NVL:</a> -<a name="80"><span class="lineNum"> 80 </span> :<span class="lineCov"> 26 : name = "PowerPC,POWER8";</span></a> -<a name="81"><span class="lineNum"> 81 </span> :<span class="lineCov"> 26 : pa_features = pa_features_p8;</span></a> -<a name="82"><span class="lineNum"> 82 </span> :<span class="lineCov"> 26 : pa_features_size = sizeof(pa_features_p8);</span></a> -<a name="83"><span class="lineNum"> 83 </span> :<span class="lineCov"> 26 : break;</span></a> +<a name="80"><span class="lineNum"> 80 </span> :<span class="lineCov"> 6 : name = "PowerPC,POWER8";</span></a> +<a name="81"><span class="lineNum"> 81 </span> :<span class="lineCov"> 6 : pa_features = pa_features_p8;</span></a> +<a name="82"><span class="lineNum"> 82 </span> :<span class="lineCov"> 6 : pa_features_size = sizeof(pa_features_p8);</span></a> +<a name="83"><span class="lineNum"> 83 </span> :<span class="lineCov"> 6 : break;</span></a> <a name="84"><span class="lineNum"> 84 </span> :<span class="lineNoCov"> 0 : case PVR_TYPE_P9:</span></a> <a name="85"><span class="lineNum"> 85 </span> : : case PVR_TYPE_P9P:</a> <a name="86"><span class="lineNum"> 86 </span> :<span class="lineNoCov"> 0 : name = "PowerPC,POWER9";</span></a> @@ -176,33 +176,33 @@ <a name="105"><span class="lineNum"> 105 </span> :<span class="lineNoCov"> 0 : pa_features = NULL;</span></a> <a name="106"><span class="lineNum"> 106 </span> : : }</a> <a name="107"><span class="lineNum"> 107 </span> : : </a> -<a name="108"><span class="lineNum"> 108 </span> :<span class="lineCov"> 26 : cpu = dt_new_addr(cpus, name, int_server);</span></a> -<a name="109"><span class="lineNum"> 109 </span> :<span class="lineCov"> 26 : assert(cpu);</span></a> -<a name="110"><span class="lineNum"> 110 </span> :<span class="lineCov"> 26 : dt_add_property_string(cpu, "device_type", "cpu");</span></a> -<a name="111"><span class="lineNum"> 111 </span> :<span class="lineCov"> 26 : dt_add_property_string(cpu, "status", okay ? "okay" : "bad");</span></a> -<a name="112"><span class="lineNum"> 112 </span> :<span class="lineCov"> 26 : dt_add_property_cells(cpu, "reg", int_server);</span></a> -<a name="113"><span class="lineNum"> 113 </span> :<span class="lineCov"> 26 : dt_add_property_cells(cpu, "cpu-version", version);</span></a> -<a name="114"><span class="lineNum"> 114 </span> :<span class="lineCov"> 26 : dt_add_property(cpu, "64-bit", NULL, 0);</span></a> -<a name="115"><span class="lineNum"> 115 </span> :<span class="lineCov"> 26 : dt_add_property(cpu, "32-64-bridge", NULL, 0);</span></a> -<a name="116"><span class="lineNum"> 116 </span> :<span class="lineCov"> 26 : dt_add_property(cpu, "graphics", NULL, 0);</span></a> -<a name="117"><span class="lineNum"> 117 </span> :<span class="lineCov"> 26 : dt_add_property(cpu, "general-purpose", NULL, 0);</span></a> -<a name="118"><span class="lineNum"> 118 </span> :<span class="lineCov"> 26 : dt_add_property_cells(cpu, "ibm,processor-segment-sizes",</span></a> +<a name="108"><span class="lineNum"> 108 </span> :<span class="lineCov"> 6 : cpu = dt_new_addr(cpus, name, int_server);</span></a> +<a name="109"><span class="lineNum"> 109 </span> :<span class="lineCov"> 6 : assert(cpu);</span></a> +<a name="110"><span class="lineNum"> 110 </span> :<span class="lineCov"> 6 : dt_add_property_string(cpu, "device_type", "cpu");</span></a> +<a name="111"><span class="lineNum"> 111 </span> :<span class="lineCov"> 6 : dt_add_property_string(cpu, "status", okay ? "okay" : "bad");</span></a> +<a name="112"><span class="lineNum"> 112 </span> :<span class="lineCov"> 6 : dt_add_property_cells(cpu, "reg", int_server);</span></a> +<a name="113"><span class="lineNum"> 113 </span> :<span class="lineCov"> 6 : dt_add_property_cells(cpu, "cpu-version", version);</span></a> +<a name="114"><span class="lineNum"> 114 </span> :<span class="lineCov"> 6 : dt_add_property(cpu, "64-bit", NULL, 0);</span></a> +<a name="115"><span class="lineNum"> 115 </span> :<span class="lineCov"> 6 : dt_add_property(cpu, "32-64-bridge", NULL, 0);</span></a> +<a name="116"><span class="lineNum"> 116 </span> :<span class="lineCov"> 6 : dt_add_property(cpu, "graphics", NULL, 0);</span></a> +<a name="117"><span class="lineNum"> 117 </span> :<span class="lineCov"> 6 : dt_add_property(cpu, "general-purpose", NULL, 0);</span></a> +<a name="118"><span class="lineNum"> 118 </span> :<span class="lineCov"> 6 : dt_add_property_cells(cpu, "ibm,processor-segment-sizes",</span></a> <a name="119"><span class="lineNum"> 119 </span> : : 0x1c, 0x28, 0xffffffff, 0xffffffff);</a> -<a name="120"><span class="lineNum"> 120 </span> :<span class="lineCov"> 26 : dt_add_property_cells(cpu, "ibm,processor-page-sizes",</span></a> +<a name="120"><span class="lineNum"> 120 </span> :<span class="lineCov"> 6 : dt_add_property_cells(cpu, "ibm,processor-page-sizes",</span></a> <a name="121"><span class="lineNum"> 121 </span> : : 0xc, 0x10, 0x18, 0x22);</a> <a name="122"><span class="lineNum"> 122 </span> : : </a> -<a name="123"><span class="lineNum"> 123 </span> :<span class="lineCov"> 26 : if (proc_gen >= proc_gen_p9)</span></a> +<a name="123"><span class="lineNum"> 123 </span> :<span class="lineCov"> 6 : if (proc_gen >= proc_gen_p9)</span></a> <a name="124"><span class="lineNum"> 124 </span> :<span class="lineNoCov"> 0 : dt_add_property_cells(cpu, "ibm,processor-radix-AP-encodings",</span></a> <a name="125"><span class="lineNum"> 125 </span> : : 0x0000000c, 0xa0000010, 0x20000015, 0x4000001e);</a> -<a name="126"><span class="lineNum"> 126 </span> :<span class="lineCov"> 26 : if (proc_gen >= proc_gen_p10) {</span></a> +<a name="126"><span class="lineNum"> 126 </span> :<span class="lineCov"> 6 : if (proc_gen >= proc_gen_p10) {</span></a> <a name="127"><span class="lineNum"> 127 </span> :<span class="lineNoCov"> 0 : dt_add_property_cells(cpu, "ibm,mmu-pid-bits", 20);</span></a> <a name="128"><span class="lineNum"> 128 </span> :<span class="lineNoCov"> 0 : dt_add_property_cells(cpu, "ibm,mmu-lpid-bits", 12);</span></a> <a name="129"><span class="lineNum"> 129 </span> : : }</a> -<a name="130"><span class="lineNum"> 130 </span> :<span class="lineCov"> 26 : if (lpar_per_core)</span></a> +<a name="130"><span class="lineNum"> 130 </span> :<span class="lineCov"> 6 : if (lpar_per_core)</span></a> <a name="131"><span class="lineNum"> 131 </span> :<span class="lineNoCov"> 0 : dt_add_property(cpu, "ibm,mmu-lpar-per-core", NULL, 0);</span></a> <a name="132"><span class="lineNum"> 132 </span> : : </a> <a name="133"><span class="lineNum"> 133 </span> : : /* HPT segment page size encodings, common to all supported CPUs */</a> -<a name="134"><span class="lineNum"> 134 </span> :<span class="lineCov"> 26 : dt_add_property_cells(cpu, "ibm,segment-page-sizes",</span></a> +<a name="134"><span class="lineNum"> 134 </span> :<span class="lineCov"> 6 : dt_add_property_cells(cpu, "ibm,segment-page-sizes",</span></a> <a name="135"><span class="lineNum"> 135 </span> : : 0x0c, 0x000, 3, 0x0c, 0x0000, /* 4K seg 4k pages */</a> <a name="136"><span class="lineNum"> 136 </span> : : 0x10, 0x0007, /* 4K seg 64k pages */</a> <a name="137"><span class="lineNum"> 137 </span> : : 0x18, 0x0038, /* 4K seg 16M pages */</a> @@ -212,106 +212,106 @@ <a name="141"><span class="lineNum"> 141 </span> : : 0x22, 0x120, 1, 0x22, 0x0003); /* 16G seg 16G pages */</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> :<span class="lineCov"> 26 : if (pa_features) {</span></a> -<a name="145"><span class="lineNum"> 145 </span> :<span class="lineCov"> 26 : dt_add_property(cpu, "ibm,pa-features",</span></a> +<a name="144"><span class="lineNum"> 144 </span> :<span class="lineCov"> 6 : if (pa_features) {</span></a> +<a name="145"><span class="lineNum"> 145 </span> :<span class="lineCov"> 6 : dt_add_property(cpu, "ibm,pa-features",</span></a> <a name="146"><span class="lineNum"> 146 </span> : : pa_features, pa_features_size);</a> <a name="147"><span class="lineNum"> 147 </span> : : }</a> -<a name="148"><span class="lineNum"> 148 </span> :<span class="lineCov"> 26 : dt_add_property_cells(cpu, "ibm,slb-size", 0x20);</span></a> +<a name="148"><span class="lineNum"> 148 </span> :<span class="lineCov"> 6 : dt_add_property_cells(cpu, "ibm,slb-size", 0x20);</span></a> <a name="149"><span class="lineNum"> 149 </span> : : </a> -<a name="150"><span class="lineNum"> 150 </span> :<span class="lineCov"> 26 : dt_add_property_cells(cpu, "ibm,vmx", 0x2);</span></a> -<a name="151"><span class="lineNum"> 151 </span> :<span class="lineCov"> 26 : dt_add_property_cells(cpu, "ibm,dfp", 0x2);</span></a> -<a name="152"><span class="lineNum"> 152 </span> :<span class="lineCov"> 26 : dt_add_property_cells(cpu, "ibm,purr", 0x1);</span></a> -<a name="153"><span class="lineNum"> 153 </span> :<span class="lineCov"> 26 : dt_add_property_cells(cpu, "ibm,spurr", 0x1);</span></a> +<a name="150"><span class="lineNum"> 150 </span> :<span class="lineCov"> 6 : dt_add_property_cells(cpu, "ibm,vmx", 0x2);</span></a> +<a name="151"><span class="lineNum"> 151 </span> :<span class="lineCov"> 6 : dt_add_property_cells(cpu, "ibm,dfp", 0x2);</span></a> +<a name="152"><span class="lineNum"> 152 </span> :<span class="lineCov"> 6 : dt_add_property_cells(cpu, "ibm,purr", 0x1);</span></a> +<a name="153"><span class="lineNum"> 153 </span> :<span class="lineCov"> 6 : dt_add_property_cells(cpu, "ibm,spurr", 0x1);</span></a> <a name="154"><span class="lineNum"> 154 </span> : : </a> <a name="155"><span class="lineNum"> 155 </span> : : /*</a> <a name="156"><span class="lineNum"> 156 </span> : : * Do not create "clock-frequency" if the frequency doesn't</a> <a name="157"><span class="lineNum"> 157 </span> : : * fit in a single cell</a> <a name="158"><span class="lineNum"> 158 </span> : : */</a> -<a name="159"><span class="lineNum"> 159 </span> :<span class="lineCov"> 26 : freq = ((uint64_t)be32_to_cpu(tb->actual_clock_speed)) * 1000000ul;</span></a> -<a name="160"><span class="lineNum"> 160 </span> :<span class="lineCov"> 26 : if (freq <= 0xfffffffful)</span></a> -<a name="161"><span class="lineNum"> 161 </span> :<span class="lineCov"> 26 : dt_add_property_cells(cpu, "clock-frequency", freq);</span></a> -<a name="162"><span class="lineNum"> 162 </span> :<span class="lineCov"> 26 : dt_add_property_u64(cpu, "ibm,extended-clock-frequency", freq);</span></a> +<a name="159"><span class="lineNum"> 159 </span> :<span class="lineCov"> 6 : freq = ((uint64_t)be32_to_cpu(tb->actual_clock_speed)) * 1000000ul;</span></a> +<a name="160"><span class="lineNum"> 160 </span> :<span class="lineCov"> 6 : if (freq <= 0xfffffffful)</span></a> +<a name="161"><span class="lineNum"> 161 </span> :<span class="lineCov"> 6 : dt_add_property_cells(cpu, "clock-frequency", freq);</span></a> +<a name="162"><span class="lineNum"> 162 </span> :<span class="lineCov"> 6 : dt_add_property_u64(cpu, "ibm,extended-clock-frequency", freq);</span></a> <a name="163"><span class="lineNum"> 163 </span> : : </a> <a name="164"><span class="lineNum"> 164 </span> : : /* FIXME: Hardcoding is bad. */</a> -<a name="165"><span class="lineNum"> 165 </span> :<span class="lineCov"> 26 : dt_add_property_cells(cpu, "timebase-frequency", 512000000);</span></a> -<a name="166"><span class="lineNum"> 166 </span> :<span class="lineCov"> 26 : dt_add_property_cells(cpu, "ibm,extended-timebase-frequency",</span></a> +<a name="165"><span class="lineNum"> 165 </span> :<span class="lineCov"> 6 : dt_add_property_cells(cpu, "timebase-frequency", 512000000);</span></a> +<a name="166"><span class="lineNum"> 166 </span> :<span class="lineCov"> 6 : dt_add_property_cells(cpu, "ibm,extended-timebase-frequency",</span></a> <a name="167"><span class="lineNum"> 167 </span> : : 0, 512000000);</a> <a name="168"><span class="lineNum"> 168 </span> : : </a> -<a name="169"><span class="lineNum"> 169 </span> :<span class="lineCov"> 26 : dt_add_property_cells(cpu, "reservation-granule-size",</span></a> +<a name="169"><span class="lineNum"> 169 </span> :<span class="lineCov"> 6 : dt_add_property_cells(cpu, "reservation-granule-size",</span></a> <a name="170"><span class="lineNum"> 170 </span> : : be32_to_cpu(cache->reservation_size));</a> <a name="171"><span class="lineNum"> 171 </span> : : </a> -<a name="172"><span class="lineNum"> 172 </span> :<span class="lineCov"> 26 : dt_add_property_cells(cpu, "d-tlb-size",</span></a> +<a name="172"><span class="lineNum"> 172 </span> :<span class="lineCov"> 6 : dt_add_property_cells(cpu, "d-tlb-size",</span></a> <a name="173"><span class="lineNum"> 173 </span> : : be32_to_cpu(cache->dtlb_entries));</a> -<a name="174"><span class="lineNum"> 174 </span> :<span class="lineCov"> 26 : dt_add_property_cells(cpu, "i-tlb-size",</span></a> +<a name="174"><span class="lineNum"> 174 </span> :<span class="lineCov"> 6 : dt_add_property_cells(cpu, "i-tlb-size",</span></a> <a name="175"><span class="lineNum"> 175 </span> : : be32_to_cpu(cache->itlb_entries));</a> <a name="176"><span class="lineNum"> 176 </span> : : /* Assume unified TLB */</a> -<a name="177"><span class="lineNum"> 177 </span> :<span class="lineCov"> 26 : dt_add_property_cells(cpu, "tlb-size",</span></a> +<a name="177"><span class="lineNum"> 177 </span> :<span class="lineCov"> 6 : dt_add_property_cells(cpu, "tlb-size",</span></a> <a name="178"><span class="lineNum"> 178 </span> : : be32_to_cpu(cache->dtlb_entries));</a> -<a name="179"><span class="lineNum"> 179 </span> :<span class="lineCov"> 26 : dt_add_property_cells(cpu, "d-tlb-sets",</span></a> +<a name="179"><span class="lineNum"> 179 </span> :<span class="lineCov"> 6 : dt_add_property_cells(cpu, "d-tlb-sets",</span></a> <a name="180"><span class="lineNum"> 180 </span> : : be32_to_cpu(cache->dtlb_assoc_sets));</a> -<a name="181"><span class="lineNum"> 181 </span> :<span class="lineCov"> 26 : dt_add_property_cells(cpu, "i-tlb-sets",</span></a> +<a name="181"><span class="lineNum"> 181 </span> :<span class="lineCov"> 6 : dt_add_property_cells(cpu, "i-tlb-sets",</span></a> <a name="182"><span class="lineNum"> 182 </span> : : be32_to_cpu(cache->itlb_assoc_sets));</a> -<a name="183"><span class="lineNum"> 183 </span> :<span class="lineCov"> 26 : dt_add_property_cells(cpu, "tlb-sets",</span></a> +<a name="183"><span class="lineNum"> 183 </span> :<span class="lineCov"> 6 : dt_add_property_cells(cpu, "tlb-sets",</span></a> <a name="184"><span class="lineNum"> 184 </span> : : be32_to_cpu(cache->dtlb_assoc_sets));</a> <a name="185"><span class="lineNum"> 185 </span> : : </a> -<a name="186"><span class="lineNum"> 186 </span> :<span class="lineCov"> 26 : dt_add_property_cells(cpu, "d-cache-block-size",</span></a> +<a name="186"><span class="lineNum"> 186 </span> :<span class="lineCov"> 6 : dt_add_property_cells(cpu, "d-cache-block-size",</span></a> <a name="187"><span class="lineNum"> 187 </span> : : be32_to_cpu(cache->dcache_block_size));</a> -<a name="188"><span class="lineNum"> 188 </span> :<span class="lineCov"> 26 : dt_add_property_cells(cpu, "i-cache-block-size",</span></a> +<a name="188"><span class="lineNum"> 188 </span> :<span class="lineCov"> 6 : dt_add_property_cells(cpu, "i-cache-block-size",</span></a> <a name="189"><span class="lineNum"> 189 </span> : : be32_to_cpu(cache->icache_block_size));</a> -<a name="190"><span class="lineNum"> 190 </span> :<span class="lineCov"> 26 : dt_add_property_cells(cpu, "d-cache-size",</span></a> +<a name="190"><span class="lineNum"> 190 </span> :<span class="lineCov"> 6 : dt_add_property_cells(cpu, "d-cache-size",</span></a> <a name="191"><span class="lineNum"> 191 </span> : : be32_to_cpu(cache->l1_dcache_size_kb)*1024);</a> -<a name="192"><span class="lineNum"> 192 </span> :<span class="lineCov"> 26 : dt_add_property_cells(cpu, "i-cache-size",</span></a> +<a name="192"><span class="lineNum"> 192 </span> :<span class="lineCov"> 6 : dt_add_property_cells(cpu, "i-cache-size",</span></a> <a name="193"><span class="lineNum"> 193 </span> : : be32_to_cpu(cache->icache_size_kb)*1024);</a> -<a name="194"><span class="lineNum"> 194 </span> :<span class="lineCov"> 26 : dt_add_property_cells(cpu, "i-cache-sets",</span></a> +<a name="194"><span class="lineNum"> 194 </span> :<span class="lineCov"> 6 : dt_add_property_cells(cpu, "i-cache-sets",</span></a> <a name="195"><span class="lineNum"> 195 </span> : : be32_to_cpu(cache->icache_assoc_sets));</a> -<a name="196"><span class="lineNum"> 196 </span> :<span class="lineCov"> 26 : dt_add_property_cells(cpu, "d-cache-sets",</span></a> +<a name="196"><span class="lineNum"> 196 </span> :<span class="lineCov"> 6 : dt_add_property_cells(cpu, "d-cache-sets",</span></a> <a name="197"><span class="lineNum"> 197 </span> : : be32_to_cpu(cache->dcache_assoc_sets));</a> <a name="198"><span class="lineNum"> 198 </span> : : </a> -<a name="199"><span class="lineNum"> 199 </span> :<span class="lineCov"> 26 : if (cache->icache_line_size != cache->icache_block_size)</span></a> +<a name="199"><span class="lineNum"> 199 </span> :<span class="lineCov"> 6 : if (cache->icache_line_size != cache->icache_block_size)</span></a> <a name="200"><span class="lineNum"> 200 </span> :<span class="lineNoCov"> 0 : dt_add_property_cells(cpu, "i-cache-line-size",</span></a> <a name="201"><span class="lineNum"> 201 </span> : : be32_to_cpu(cache->icache_line_size));</a> -<a name="202"><span class="lineNum"> 202 </span> :<span class="lineCov"> 26 : if (cache->l1_dcache_line_size != cache->dcache_block_size)</span></a> +<a name="202"><span class="lineNum"> 202 </span> :<span class="lineCov"> 6 : if (cache->l1_dcache_line_size != cache->dcache_block_size)</span></a> <a name="203"><span class="lineNum"> 203 </span> :<span class="lineNoCov"> 0 : dt_add_property_cells(cpu, "d-cache-line-size",</span></a> <a name="204"><span class="lineNum"> 204 </span> : : be32_to_cpu(cache->l1_dcache_line_size));</a> -<a name="205"><span class="lineNum"> 205 </span> :<span class="lineCov"> 26 : return cpu;</span></a> +<a name="205"><span class="lineNum"> 205 </span> :<span class="lineCov"> 6 : return cpu;</span></a> <a name="206"><span class="lineNum"> 206 </span> : : }</a> <a name="207"><span class="lineNum"> 207 </span> : : </a> -<a name="208"><span class="lineNum"> 208 </span> :<span class="lineCov"> 26 : void add_core_attr(struct dt_node *cpu, uint32_t attr)</span></a> +<a name="208"><span class="lineNum"> 208 </span> :<span class="lineCov"> 6 : void add_core_attr(struct dt_node *cpu, uint32_t attr)</span></a> <a name="209"><span class="lineNum"> 209 </span> : : {</a> -<a name="210"><span class="lineNum"> 210 </span> :<span class="lineCov"> 26 : if (attr & CPU_ATTR_UNIFIED_PL1)</span></a> +<a name="210"><span class="lineNum"> 210 </span> :<span class="lineCov"> 6 : if (attr & CPU_ATTR_UNIFIED_PL1)</span></a> <a name="211"><span class="lineNum"> 211 </span> :<span class="lineNoCov"> 0 : dt_add_property(cpu, "cache-unified", NULL, 0);</span></a> -<a name="212"><span class="lineNum"> 212 </span> :<span class="lineCov"> 26 : if (attr & CPU_ATTR_SPLIT_TLB)</span></a> +<a name="212"><span class="lineNum"> 212 </span> :<span class="lineCov"> 6 : if (attr & CPU_ATTR_SPLIT_TLB)</span></a> <a name="213"><span class="lineNum"> 213 </span> :<span class="lineNoCov"> 0 : dt_add_property(cpu, "tlb-split", NULL, 0);</span></a> -<a name="214"><span class="lineNum"> 214 </span> :<span class="lineCov"> 26 : if (attr & CPU_ATTR_TLBIA)</span></a> +<a name="214"><span class="lineNum"> 214 </span> :<span class="lineCov"> 6 : if (attr & CPU_ATTR_TLBIA)</span></a> <a name="215"><span class="lineNum"> 215 </span> :<span class="lineNoCov"> 0 : dt_add_property(cpu, "tlbia", NULL, 0);</span></a> -<a name="216"><span class="lineNum"> 216 </span> :<span class="lineCov"> 26 : if (attr & CPU_ATTR_PERF_MONITOR)</span></a> -<a name="217"><span class="lineNum"> 217 </span> :<span class="lineCov"> 26 : dt_add_property_cells(cpu, "performance-monitor", 0, 1);</span></a> -<a name="218"><span class="lineNum"> 218 </span> :<span class="lineCov"> 26 : if (attr & CPU_ATTR_EXTERN_CONT)</span></a> +<a name="216"><span class="lineNum"> 216 </span> :<span class="lineCov"> 6 : if (attr & CPU_ATTR_PERF_MONITOR)</span></a> +<a name="217"><span class="lineNum"> 217 </span> :<span class="lineCov"> 6 : dt_add_property_cells(cpu, "performance-monitor", 0, 1);</span></a> +<a name="218"><span class="lineNum"> 218 </span> :<span class="lineCov"> 6 : if (attr & CPU_ATTR_EXTERN_CONT)</span></a> <a name="219"><span class="lineNum"> 219 </span> :<span class="lineNoCov"> 0 : dt_add_property(cpu, "external-control", NULL, 0);</span></a> -<a name="220"><span class="lineNum"> 220 </span> :<span class="lineCov"> 26 : }</span></a> +<a name="220"><span class="lineNum"> 220 </span> :<span class="lineCov"> 6 : }</span></a> <a name="221"><span class="lineNum"> 221 </span> : : </a> -<a name="222"><span class="lineNum"> 222 </span> :<span class="lineCov"> 52 : static struct dt_node *create_cache_node(struct dt_node *cpus,</span></a> +<a name="222"><span class="lineNum"> 222 </span> :<span class="lineCov"> 12 : static struct dt_node *create_cache_node(struct dt_node *cpus,</span></a> <a name="223"><span class="lineNum"> 223 </span> : : const struct sppcia_cpu_cache *cache,</a> <a name="224"><span class="lineNum"> 224 </span> : : const char *name, uint32_t unit_addr,</a> <a name="225"><span class="lineNum"> 225 </span> : : int okay)</a> <a name="226"><span class="lineNum"> 226 </span> : : {</a> <a name="227"><span class="lineNum"> 227 </span> : : struct dt_node *node;</a> <a name="228"><span class="lineNum"> 228 </span> : : </a> -<a name="229"><span class="lineNum"> 229 </span> :<span class="lineCov"> 52 : node = dt_new_addr(cpus, name, unit_addr);</span></a> -<a name="230"><span class="lineNum"> 230 </span> :<span class="lineCov"> 52 : assert(node);</span></a> +<a name="229"><span class="lineNum"> 229 </span> :<span class="lineCov"> 12 : node = dt_new_addr(cpus, name, unit_addr);</span></a> +<a name="230"><span class="lineNum"> 230 </span> :<span class="lineCov"> 12 : assert(node);</span></a> <a name="231"><span class="lineNum"> 231 </span> : : </a> -<a name="232"><span class="lineNum"> 232 </span> :<span class="lineCov"> 52 : dt_add_property_string(node, "device_type", "cache");</span></a> -<a name="233"><span class="lineNum"> 233 </span> :<span class="lineCov"> 52 : dt_add_property_cells(node, "reg", unit_addr);</span></a> -<a name="234"><span class="lineNum"> 234 </span> :<span class="lineCov"> 52 : dt_add_property_string(node, "status", okay ? "okay" : "bad");</span></a> -<a name="235"><span class="lineNum"> 235 </span> :<span class="lineCov"> 52 : dt_add_property(node, "cache-unified", NULL, 0);</span></a> +<a name="232"><span class="lineNum"> 232 </span> :<span class="lineCov"> 12 : dt_add_property_string(node, "device_type", "cache");</span></a> +<a name="233"><span class="lineNum"> 233 </span> :<span class="lineCov"> 12 : dt_add_property_cells(node, "reg", unit_addr);</span></a> +<a name="234"><span class="lineNum"> 234 </span> :<span class="lineCov"> 12 : dt_add_property_string(node, "status", okay ? "okay" : "bad");</span></a> +<a name="235"><span class="lineNum"> 235 </span> :<span class="lineCov"> 12 : dt_add_property(node, "cache-unified", NULL, 0);</span></a> <a name="236"><span class="lineNum"> 236 </span> : : </a> <a name="237"><span class="lineNum"> 237 </span> : : /* Assume cache associavitity sets is same for L2, L3 and L3.5 */</a> -<a name="238"><span class="lineNum"> 238 </span> :<span class="lineCov"> 52 : dt_add_property_cells(node, "d-cache-sets",</span></a> +<a name="238"><span class="lineNum"> 238 </span> :<span class="lineCov"> 12 : dt_add_property_cells(node, "d-cache-sets",</span></a> <a name="239"><span class="lineNum"> 239 </span> : : be32_to_cpu(cache->l2_cache_assoc_sets));</a> -<a name="240"><span class="lineNum"> 240 </span> :<span class="lineCov"> 52 : dt_add_property_cells(node, "i-cache-sets",</span></a> +<a name="240"><span class="lineNum"> 240 </span> :<span class="lineCov"> 12 : dt_add_property_cells(node, "i-cache-sets",</span></a> <a name="241"><span class="lineNum"> 241 </span> : : be32_to_cpu(cache->l2_cache_assoc_sets));</a> <a name="242"><span class="lineNum"> 242 </span> : : </a> -<a name="243"><span class="lineNum"> 243 </span> :<span class="lineCov"> 52 : return node;</span></a> +<a name="243"><span class="lineNum"> 243 </span> :<span class="lineCov"> 12 : return node;</span></a> <a name="244"><span class="lineNum"> 244 </span> : : }</a> <a name="245"><span class="lineNum"> 245 </span> : : </a> <a name="246"><span class="lineNum"> 246 </span> :<span class="lineNoCov"> 0 : static struct dt_node *l35_cache_node(struct dt_node *cpus,</span></a> @@ -337,50 +337,50 @@ <a name="266"><span class="lineNum"> 266 </span> :<span class="lineNoCov"> 0 : return node;</span></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> :<span class="lineCov"> 26 : static struct dt_node *l3_cache_node(struct dt_node *cpus,</span></a> +<a name="269"><span class="lineNum"> 269 </span> :<span class="lineCov"> 6 : static struct dt_node *l3_cache_node(struct dt_node *cpus,</span></a> <a name="270"><span class="lineNum"> 270 </span> : : const struct sppcia_cpu_cache *cache,</a> <a name="271"><span class="lineNum"> 271 </span> : : uint32_t unit_addr, int okay)</a> <a name="272"><span class="lineNum"> 272 </span> : : {</a> <a name="273"><span class="lineNum"> 273 </span> : : struct dt_node *node;</a> <a name="274"><span class="lineNum"> 274 </span> : : </a> -<a name="275"><span class="lineNum"> 275 </span> :<span class="lineCov"> 26 : node = create_cache_node(cpus, cache, "l3-cache", unit_addr, okay);</span></a> +<a name="275"><span class="lineNum"> 275 </span> :<span class="lineCov"> 6 : node = create_cache_node(cpus, cache, "l3-cache", unit_addr, okay);</span></a> <a name="276"><span class="lineNum"> 276 </span> : : </a> -<a name="277"><span class="lineNum"> 277 </span> :<span class="lineCov"> 26 : dt_add_property_cells(node, "d-cache-size",</span></a> +<a name="277"><span class="lineNum"> 277 </span> :<span class="lineCov"> 6 : dt_add_property_cells(node, "d-cache-size",</span></a> <a name="278"><span class="lineNum"> 278 </span> : : be32_to_cpu(cache->l3_dcache_size_kb) * 1024);</a> -<a name="279"><span class="lineNum"> 279 </span> :<span class="lineCov"> 26 : dt_add_property_cells(node, "i-cache-size",</span></a> +<a name="279"><span class="lineNum"> 279 </span> :<span class="lineCov"> 6 : dt_add_property_cells(node, "i-cache-size",</span></a> <a name="280"><span class="lineNum"> 280 </span> : : be32_to_cpu(cache->l3_dcache_size_kb) * 1024);</a> <a name="281"><span class="lineNum"> 281 </span> : : </a> -<a name="282"><span class="lineNum"> 282 </span> :<span class="lineCov"> 26 : if (cache->icache_line_size != cache->icache_block_size)</span></a> +<a name="282"><span class="lineNum"> 282 </span> :<span class="lineCov"> 6 : if (cache->icache_line_size != cache->icache_block_size)</span></a> <a name="283"><span class="lineNum"> 283 </span> :<span class="lineNoCov"> 0 : dt_add_property_cells(node, "i-cache-line-size",</span></a> <a name="284"><span class="lineNum"> 284 </span> : : be32_to_cpu(cache->icache_line_size));</a> -<a name="285"><span class="lineNum"> 285 </span> :<span class="lineCov"> 26 : if (cache->l3_line_size != cache->dcache_block_size)</span></a> +<a name="285"><span class="lineNum"> 285 </span> :<span class="lineCov"> 6 : if (cache->l3_line_size != cache->dcache_block_size)</span></a> <a name="286"><span class="lineNum"> 286 </span> :<span class="lineNoCov"> 0 : dt_add_property_cells(node, "d-cache-line-size",</span></a> <a name="287"><span class="lineNum"> 287 </span> : : be32_to_cpu(cache->l3_line_size));</a> <a name="288"><span class="lineNum"> 288 </span> : : </a> -<a name="289"><span class="lineNum"> 289 </span> :<span class="lineCov"> 26 : return node;</span></a> +<a name="289"><span class="lineNum"> 289 </span> :<span class="lineCov"> 6 : return node;</span></a> <a name="290"><span class="lineNum"> 290 </span> : : }</a> <a name="291"><span class="lineNum"> 291 </span> : : </a> -<a name="292"><span class="lineNum"> 292 </span> :<span class="lineCov"> 26 : static struct dt_node *l2_cache_node(struct dt_node *cpus,</span></a> +<a name="292"><span class="lineNum"> 292 </span> :<span class="lineCov"> 6 : static struct dt_node *l2_cache_node(struct dt_node *cpus,</span></a> <a name="293"><span class="lineNum"> 293 </span> : : const struct sppcia_cpu_cache *cache,</a> <a name="294"><span class="lineNum"> 294 </span> : : uint32_t unit_addr, int okay)</a> <a name="295"><span class="lineNum"> 295 </span> : : {</a> <a name="296"><span class="lineNum"> 296 </span> : : struct dt_node *node;</a> <a name="297"><span class="lineNum"> 297 </span> : : </a> -<a name="298"><span class="lineNum"> 298 </span> :<span class="lineCov"> 26 : node = create_cache_node(cpus, cache, "l2-cache", unit_addr, okay);</span></a> +<a name="298"><span class="lineNum"> 298 </span> :<span class="lineCov"> 6 : node = create_cache_node(cpus, cache, "l2-cache", unit_addr, okay);</span></a> <a name="299"><span class="lineNum"> 299 </span> : : </a> -<a name="300"><span class="lineNum"> 300 </span> :<span class="lineCov"> 26 : dt_add_property_cells(node, "d-cache-size",</span></a> +<a name="300"><span class="lineNum"> 300 </span> :<span class="lineCov"> 6 : dt_add_property_cells(node, "d-cache-size",</span></a> <a name="301"><span class="lineNum"> 301 </span> : : be32_to_cpu(cache->l2_dcache_size_kb) * 1024);</a> -<a name="302"><span class="lineNum"> 302 </span> :<span class="lineCov"> 26 : dt_add_property_cells(node, "i-cache-size",</span></a> +<a name="302"><span class="lineNum"> 302 </span> :<span class="lineCov"> 6 : dt_add_property_cells(node, "i-cache-size",</span></a> <a name="303"><span class="lineNum"> 303 </span> : : be32_to_cpu(cache->l2_dcache_size_kb) * 1024);</a> <a name="304"><span class="lineNum"> 304 </span> : : </a> -<a name="305"><span class="lineNum"> 305 </span> :<span class="lineCov"> 26 : if (cache->icache_line_size != cache->icache_block_size)</span></a> +<a name="305"><span class="lineNum"> 305 </span> :<span class="lineCov"> 6 : if (cache->icache_line_size != cache->icache_block_size)</span></a> <a name="306"><span class="lineNum"> 306 </span> :<span class="lineNoCov"> 0 : dt_add_property_cells(node, "i-cache-line-size",</span></a> <a name="307"><span class="lineNum"> 307 </span> : : be32_to_cpu(cache->icache_line_size));</a> -<a name="308"><span class="lineNum"> 308 </span> :<span class="lineCov"> 26 : if (cache->l2_line_size != cache->dcache_block_size)</span></a> +<a name="308"><span class="lineNum"> 308 </span> :<span class="lineCov"> 6 : if (cache->l2_line_size != cache->dcache_block_size)</span></a> <a name="309"><span class="lineNum"> 309 </span> :<span class="lineNoCov"> 0 : dt_add_property_cells(node, "d-cache-line-size",</span></a> <a name="310"><span class="lineNum"> 310 </span> : : be32_to_cpu(cache->l2_line_size));</a> <a name="311"><span class="lineNum"> 311 </span> : : </a> -<a name="312"><span class="lineNum"> 312 </span> :<span class="lineCov"> 26 : return node;</span></a> +<a name="312"><span class="lineNum"> 312 </span> :<span class="lineCov"> 6 : return node;</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 struct dt_node *find_l2_node(struct dt_node *cpus, u32 unit_addr)</span></a> @@ -391,7 +391,7 @@ <a name="320"><span class="lineNum"> 320 </span> :<span class="lineNoCov"> 0 : return dt_find_by_name(cpus, name);</span></a> <a name="321"><span class="lineNum"> 321 </span> : : }</a> <a name="322"><span class="lineNum"> 322 </span> : : </a> -<a name="323"><span class="lineNum"> 323 </span> :<span class="lineCov"> 26 : uint32_t add_core_cache_info(struct dt_node *cpus,</span></a> +<a name="323"><span class="lineNum"> 323 </span> :<span class="lineCov"> 6 : uint32_t add_core_cache_info(struct dt_node *cpus,</span></a> <a name="324"><span class="lineNum"> 324 </span> : : const struct sppcia_cpu_cache *cache,</a> <a name="325"><span class="lineNum"> 325 </span> : : uint32_t core_pir, int okay)</a> <a name="326"><span class="lineNum"> 326 </span> : : {</a> @@ -403,7 +403,7 @@ <a name="332"><span class="lineNum"> 332 </span> : : * to create a cache node for the first of these so we mask off</a> <a name="333"><span class="lineNum"> 333 </span> : : * the low PIR bits to get the unit address of the shared cache.</a> <a name="334"><span class="lineNum"> 334 </span> : : */</a> -<a name="335"><span class="lineNum"> 335 </span> :<span class="lineCov"> 26 : if (proc_gen == proc_gen_p9) {</span></a> +<a name="335"><span class="lineNum"> 335 </span> :<span class="lineCov"> 6 : if (proc_gen == proc_gen_p9) {</span></a> <a name="336"><span class="lineNum"> 336 </span> :<span class="lineNoCov"> 0 : core_pir &= ~0x7;</span></a> <a name="337"><span class="lineNum"> 337 </span> : : </a> <a name="338"><span class="lineNum"> 338 </span> :<span class="lineNoCov"> 0 : l2_node = find_l2_node(cpus, 0x20 << 24 | core_pir);</span></a> @@ -411,22 +411,22 @@ <a name="340"><span class="lineNum"> 340 </span> :<span class="lineNoCov"> 0 : return l2_node->phandle;</span></a> <a name="341"><span class="lineNum"> 341 </span> : : }</a> <a name="342"><span class="lineNum"> 342 </span> : : </a> -<a name="343"><span class="lineNum"> 343 </span> :<span class="lineCov"> 26 : unit_addr = 0x20 << 24 | core_pir;</span></a> -<a name="344"><span class="lineNum"> 344 </span> :<span class="lineCov"> 26 : l2_node = l2_cache_node(cpus, cache, unit_addr, okay);</span></a> +<a name="343"><span class="lineNum"> 343 </span> :<span class="lineCov"> 6 : unit_addr = 0x20 << 24 | core_pir;</span></a> +<a name="344"><span class="lineNum"> 344 </span> :<span class="lineCov"> 6 : l2_node = l2_cache_node(cpus, cache, unit_addr, okay);</span></a> <a name="345"><span class="lineNum"> 345 </span> : : </a> -<a name="346"><span class="lineNum"> 346 </span> :<span class="lineCov"> 26 : unit_addr = 0x30 << 24 | core_pir;</span></a> -<a name="347"><span class="lineNum"> 347 </span> :<span class="lineCov"> 26 : l3_node = l3_cache_node(cpus, cache, unit_addr, okay);</span></a> +<a name="346"><span class="lineNum"> 346 </span> :<span class="lineCov"> 6 : unit_addr = 0x30 << 24 | core_pir;</span></a> +<a name="347"><span class="lineNum"> 347 </span> :<span class="lineCov"> 6 : l3_node = l3_cache_node(cpus, cache, unit_addr, okay);</span></a> <a name="348"><span class="lineNum"> 348 </span> : : </a> <a name="349"><span class="lineNum"> 349 </span> : : /* Represents the next level of cache in the memory hierarchy */</a> -<a name="350"><span class="lineNum"> 350 </span> :<span class="lineCov"> 26 : dt_add_property_cells(l2_node, "l2-cache", l3_node->phandle);</span></a> +<a name="350"><span class="lineNum"> 350 </span> :<span class="lineCov"> 6 : dt_add_property_cells(l2_node, "l2-cache", l3_node->phandle);</span></a> <a name="351"><span class="lineNum"> 351 </span> : : </a> -<a name="352"><span class="lineNum"> 352 </span> :<span class="lineCov"> 26 : if (be32_to_cpu(cache->l35_dcache_size_kb)) {</span></a> +<a name="352"><span class="lineNum"> 352 </span> :<span class="lineCov"> 6 : if (be32_to_cpu(cache->l35_dcache_size_kb)) {</span></a> <a name="353"><span class="lineNum"> 353 </span> :<span class="lineNoCov"> 0 : unit_addr = 0x35 << 24 | core_pir;</span></a> <a name="354"><span class="lineNum"> 354 </span> :<span class="lineNoCov"> 0 : l35_node = l35_cache_node(cpus, cache, unit_addr, okay);</span></a> <a name="355"><span class="lineNum"> 355 </span> :<span class="lineNoCov"> 0 : dt_add_property_cells(l3_node, "l2-cache", l35_node->phandle);</span></a> <a name="356"><span class="lineNum"> 356 </span> : : }</a> <a name="357"><span class="lineNum"> 357 </span> : : </a> -<a name="358"><span class="lineNum"> 358 </span> :<span class="lineCov"> 26 : return l2_node->phandle;</span></a> +<a name="358"><span class="lineNum"> 358 </span> :<span class="lineCov"> 6 : return l2_node->phandle;</span></a> <a name="359"><span class="lineNum"> 359 </span> : : }</a> </pre> </td> diff --git a/coverage-report/hdata/fsp.c.func-sort-c.html b/coverage-report/hdata/fsp.c.func-sort-c.html index 235e3d4..994e161 100644 --- a/coverage-report/hdata/fsp.c.func-sort-c.html +++ b/coverage-report/hdata/fsp.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">90</td> + <td class="headerCovTableEntry">86</td> <td class="headerCovTableEntry">247</td> - <td class="headerCovTableEntryLo">36.4 %</td> + <td class="headerCovTableEntryLo">34.8 %</td> </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">6</td> @@ -90,27 +90,27 @@ </tr> <tr> <td class="coverFn"><a href="fsp.c.gcov.html#493">bmc_parse</a></td> - <td class="coverFnHi">2</td> + <td class="coverFnHi">1</td> + </tr> + <tr> + <td class="coverFn"><a href="fsp.c.gcov.html#130">fsp_create_link</a></td> + <td class="coverFnHi">1</td> </tr> <tr> <td class="coverFn"><a href="fsp.c.gcov.html#172">fsp_create_links</a></td> - <td class="coverFnHi">2</td> + <td class="coverFnHi">1</td> </tr> <tr> <td class="coverFn"><a href="fsp.c.gcov.html#96">fsp_create_node</a></td> - <td class="coverFnHi">2</td> + <td class="coverFnHi">1</td> </tr> <tr> <td class="coverFn"><a href="fsp.c.gcov.html#514">fsp_parse</a></td> - <td class="coverFnHi">2</td> - </tr> - <tr> - <td class="coverFn"><a href="fsp.c.gcov.html#130">fsp_create_link</a></td> - <td class="coverFnHi">3</td> + <td class="coverFnHi">1</td> </tr> <tr> <td class="coverFn"><a href="fsp.c.gcov.html#26">find_service_proc_type</a></td> - <td class="coverFnHi">4</td> + <td class="coverFnHi">2</td> </tr> </table> <br> diff --git a/coverage-report/hdata/fsp.c.func.html b/coverage-report/hdata/fsp.c.func.html index 3faf6d7..77d25aa 100644 --- a/coverage-report/hdata/fsp.c.func.html +++ b/coverage-report/hdata/fsp.c.func.html @@ -31,13 +31,13 @@ <td class="headerValue">skiboot.info</td> <td></td> <td class="headerItem">Lines:</td> - <td class="headerCovTableEntry">90</td> + <td class="headerCovTableEntry">86</td> <td class="headerCovTableEntry">247</td> - <td class="headerCovTableEntryLo">36.4 %</td> + <td class="headerCovTableEntryLo">34.8 %</td> </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">6</td> @@ -90,27 +90,27 @@ </tr> <tr> <td class="coverFn"><a href="fsp.c.gcov.html#493">bmc_parse</a></td> - <td class="coverFnHi">2</td> + <td class="coverFnHi">1</td> </tr> <tr> <td class="coverFn"><a href="fsp.c.gcov.html#26">find_service_proc_type</a></td> - <td class="coverFnHi">4</td> + <td class="coverFnHi">2</td> </tr> <tr> <td class="coverFn"><a href="fsp.c.gcov.html#130">fsp_create_link</a></td> - <td class="coverFnHi">3</td> + <td class="coverFnHi">1</td> </tr> <tr> <td class="coverFn"><a href="fsp.c.gcov.html#172">fsp_create_links</a></td> - <td class="coverFnHi">2</td> + <td class="coverFnHi">1</td> </tr> <tr> <td class="coverFn"><a href="fsp.c.gcov.html#96">fsp_create_node</a></td> - <td class="coverFnHi">2</td> + <td class="coverFnHi">1</td> </tr> <tr> <td class="coverFn"><a href="fsp.c.gcov.html#514">fsp_parse</a></td> - <td class="coverFnHi">2</td> + <td class="coverFnHi">1</td> </tr> </table> <br> diff --git a/coverage-report/hdata/fsp.c.gcov.html b/coverage-report/hdata/fsp.c.gcov.html index 769960b..309fc93 100644 --- a/coverage-report/hdata/fsp.c.gcov.html +++ b/coverage-report/hdata/fsp.c.gcov.html @@ -31,13 +31,13 @@ <td class="headerValue">skiboot.info</td> <td></td> <td class="headerItem">Lines:</td> - <td class="headerCovTableEntry">90</td> + <td class="headerCovTableEntry">86</td> <td class="headerCovTableEntry">247</td> - <td class="headerCovTableEntryLo">36.4 %</td> + <td class="headerCovTableEntryLo">34.8 %</td> </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">6</td> @@ -96,7 +96,7 @@ <a name="25"><span class="lineNum"> 25 </span> : : "Broken", "Unknown", "FSP", "BMC",</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> :<span class="lineCov"> 4 : static enum sp_type find_service_proc_type(const struct HDIF_common_hdr *spss,</span></a> +<a name="28"><span class="lineNum"> 28 </span> :<span class="lineCov"> 2 : static enum sp_type find_service_proc_type(const struct HDIF_common_hdr *spss,</span></a> <a name="29"><span class="lineNum"> 29 </span> : : int index)</a> <a name="30"><span class="lineNum"> 30 </span> : : {</a> <a name="31"><span class="lineNum"> 31 </span> : : const struct spss_sp_impl *sp_impl;</a> @@ -105,21 +105,21 @@ <a name="34"><span class="lineNum"> 34 </span> : : bool functional, installed;</a> <a name="35"><span class="lineNum"> 35 </span> : : </a> <a name="36"><span class="lineNum"> 36 </span> : : /* Find an check the SP Implementation structure */</a> -<a name="37"><span class="lineNum"> 37 </span> :<span class="lineCov"> 4 : sp_impl = HDIF_get_idata(spss, SPSS_IDATA_SP_IMPL, NULL);</span></a> -<a name="38"><span class="lineNum"> 38 </span> :<span class="lineCov"> 4 : if (!CHECK_SPPTR(sp_impl)) {</span></a> +<a name="37"><span class="lineNum"> 37 </span> :<span class="lineCov"> 2 : sp_impl = HDIF_get_idata(spss, SPSS_IDATA_SP_IMPL, NULL);</span></a> +<a name="38"><span class="lineNum"> 38 </span> :<span class="lineCov"> 2 : if (!CHECK_SPPTR(sp_impl)) {</span></a> <a name="39"><span class="lineNum"> 39 </span> :<span class="lineNoCov"> 0 : prerror("SP #%d: SPSS/SP_Implementation not found !\n", index);</span></a> <a name="40"><span class="lineNum"> 40 </span> :<span class="lineNoCov"> 0 : return SP_BAD;</span></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"> 4 : hw_ver = be16_to_cpu(sp_impl->hw_version);</span></a> -<a name="44"><span class="lineNum"> 44 </span> :<span class="lineCov"> 4 : sw_ver = be16_to_cpu(sp_impl->sw_version);</span></a> -<a name="45"><span class="lineNum"> 45 </span> :<span class="lineCov"> 4 : flags = be16_to_cpu(sp_impl->func_flags);</span></a> +<a name="43"><span class="lineNum"> 43 </span> :<span class="lineCov"> 2 : hw_ver = be16_to_cpu(sp_impl->hw_version);</span></a> +<a name="44"><span class="lineNum"> 44 </span> :<span class="lineCov"> 2 : sw_ver = be16_to_cpu(sp_impl->sw_version);</span></a> +<a name="45"><span class="lineNum"> 45 </span> :<span class="lineCov"> 2 : flags = be16_to_cpu(sp_impl->func_flags);</span></a> <a name="46"><span class="lineNum"> 46 </span> : : </a> -<a name="47"><span class="lineNum"> 47 </span> :<span class="lineCov"> 4 : switch (hw_ver) {</span></a> -<a name="48"><span class="lineNum"> 48 </span> :<span class="lineCov"> 4 : case 0x1:</span></a> +<a name="47"><span class="lineNum"> 47 </span> :<span class="lineCov"> 2 : switch (hw_ver) {</span></a> +<a name="48"><span class="lineNum"> 48 </span> :<span class="lineCov"> 2 : case 0x1:</span></a> <a name="49"><span class="lineNum"> 49 </span> : : case 0x2: /* We only support FSP2 */</a> -<a name="50"><span class="lineNum"> 50 </span> :<span class="lineCov"> 4 : sp_type = SP_FSP;</span></a> -<a name="51"><span class="lineNum"> 51 </span> :<span class="lineCov"> 4 : break;</span></a> +<a name="50"><span class="lineNum"> 50 </span> :<span class="lineCov"> 2 : sp_type = SP_FSP;</span></a> +<a name="51"><span class="lineNum"> 51 </span> :<span class="lineCov"> 2 : break;</span></a> <a name="52"><span class="lineNum"> 52 </span> :<span class="lineNoCov"> 0 : case 0x3:</span></a> <a name="53"><span class="lineNum"> 53 </span> :<span class="lineNoCov"> 0 : sp_type = SP_BMC;</span></a> <a name="54"><span class="lineNum"> 54 </span> :<span class="lineNoCov"> 0 : break;</span></a> @@ -127,13 +127,13 @@ <a name="56"><span class="lineNum"> 56 </span> :<span class="lineNoCov"> 0 : sp_type = SP_UNKNOWN;</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"> 4 : if (sp_type == SP_UNKNOWN)</span></a> +<a name="59"><span class="lineNum"> 59 </span> :<span class="lineCov"> 2 : if (sp_type == SP_UNKNOWN)</span></a> <a name="60"><span class="lineNum"> 60 </span> :<span class="lineNoCov"> 0 : return SP_UNKNOWN;</span></a> <a name="61"><span class="lineNum"> 61 </span> : : </a> -<a name="62"><span class="lineNum"> 62 </span> :<span class="lineCov"> 4 : installed = !!(flags & SPSS_SP_IMPL_FLAGS_INSTALLED);</span></a> -<a name="63"><span class="lineNum"> 63 </span> :<span class="lineCov"> 4 : functional = !!(flags & SPSS_SP_IMPL_FLAGS_FUNCTIONAL);</span></a> +<a name="62"><span class="lineNum"> 62 </span> :<span class="lineCov"> 2 : installed = !!(flags & SPSS_SP_IMPL_FLAGS_INSTALLED);</span></a> +<a name="63"><span class="lineNum"> 63 </span> :<span class="lineCov"> 2 : functional = !!(flags & SPSS_SP_IMPL_FLAGS_FUNCTIONAL);</span></a> <a name="64"><span class="lineNum"> 64 </span> : : </a> -<a name="65"><span class="lineNum"> 65 </span> :<span class="lineCov"> 4 : if (!installed || !functional) {</span></a> +<a name="65"><span class="lineNum"> 65 </span> :<span class="lineCov"> 2 : if (!installed || !functional) {</span></a> <a name="66"><span class="lineNum"> 66 </span> :<span class="lineNoCov"> 0 : prerror("%s #%d not usable: %sinstalled, %sfunctional\n",</span></a> <a name="67"><span class="lineNum"> 67 </span> : : sp_names[sp_type], index,</a> <a name="68"><span class="lineNum"> 68 </span> : : installed ? "" : "not ",</a> @@ -142,12 +142,12 @@ <a name="71"><span class="lineNum"> 71 </span> :<span class="lineNoCov"> 0 : return SP_BAD;</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> :<span class="lineCov"> 4 : prlog(PR_INFO, "%s #%d: HW version %d, SW version %d, chip DD%d.%d\n",</span></a> +<a name="74"><span class="lineNum"> 74 </span> :<span class="lineCov"> 2 : prlog(PR_INFO, "%s #%d: HW version %d, SW version %d, chip DD%d.%d\n",</span></a> <a name="75"><span class="lineNum"> 75 </span> : : sp_names[sp_type], index, hw_ver, sw_ver,</a> <a name="76"><span class="lineNum"> 76 </span> : : sp_impl->chip_version >> 4,</a> <a name="77"><span class="lineNum"> 77 </span> : : sp_impl->chip_version & 0xf);</a> <a name="78"><span class="lineNum"> 78 </span> : : </a> -<a name="79"><span class="lineNum"> 79 </span> :<span class="lineCov"> 4 : return sp_type;</span></a> +<a name="79"><span class="lineNum"> 79 </span> :<span class="lineCov"> 2 : return sp_type;</span></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> : : /*</a> @@ -166,123 +166,123 @@ <a name="95"><span class="lineNum"> 95 </span> : : * Each FSP then has a "links" property which is an array of chip IDs</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> :<span class="lineCov"> 2 : static struct dt_node *fsp_create_node(const void *spss, int i,</span></a> +<a name="98"><span class="lineNum"> 98 </span> :<span class="lineCov"> 1 : static struct dt_node *fsp_create_node(const void *spss, int i,</span></a> <a name="99"><span class="lineNum"> 99 </span> : : struct dt_node *parent)</a> <a name="100"><span class="lineNum"> 100 </span> : : {</a> <a name="101"><span class="lineNum"> 101 </span> : : const struct spss_sp_impl *sp_impl;</a> <a name="102"><span class="lineNum"> 102 </span> : : struct dt_node *node;</a> <a name="103"><span class="lineNum"> 103 </span> : : </a> -<a name="104"><span class="lineNum"> 104 </span> :<span class="lineCov"> 2 : sp_impl = HDIF_get_idata(spss, SPSS_IDATA_SP_IMPL, NULL);</span></a> +<a name="104"><span class="lineNum"> 104 </span> :<span class="lineCov"> 1 : sp_impl = HDIF_get_idata(spss, SPSS_IDATA_SP_IMPL, NULL);</span></a> <a name="105"><span class="lineNum"> 105 </span> : : </a> -<a name="106"><span class="lineNum"> 106 </span> :<span class="lineCov"> 2 : node = dt_new_addr(parent, "fsp", i);</span></a> -<a name="107"><span class="lineNum"> 107 </span> :<span class="lineCov"> 2 : assert(node);</span></a> +<a name="106"><span class="lineNum"> 106 </span> :<span class="lineCov"> 1 : node = dt_new_addr(parent, "fsp", i);</span></a> +<a name="107"><span class="lineNum"> 107 </span> :<span class="lineCov"> 1 : assert(node);</span></a> <a name="108"><span class="lineNum"> 108 </span> : : </a> -<a name="109"><span class="lineNum"> 109 </span> :<span class="lineCov"> 2 : dt_add_property_cells(node, "reg", i);</span></a> +<a name="109"><span class="lineNum"> 109 </span> :<span class="lineCov"> 1 : dt_add_property_cells(node, "reg", i);</span></a> <a name="110"><span class="lineNum"> 110 </span> : : </a> -<a name="111"><span class="lineNum"> 111 </span> :<span class="lineCov"> 2 : if (be16_to_cpu(sp_impl->hw_version) == 1) {</span></a> +<a name="111"><span class="lineNum"> 111 </span> :<span class="lineCov"> 1 : if (be16_to_cpu(sp_impl->hw_version) == 1) {</span></a> <a name="112"><span class="lineNum"> 112 </span> :<span class="lineNoCov"> 0 : dt_add_property_strings(node, "compatible", "ibm,fsp",</span></a> <a name="113"><span class="lineNum"> 113 </span> : : "ibm,fsp1");</a> <a name="114"><span class="lineNum"> 114 </span> : : /* Offset into the FSP MMIO space where the mailbox</a> <a name="115"><span class="lineNum"> 115 </span> : : * registers are */</a> <a name="116"><span class="lineNum"> 116 </span> : : /* seen in the FSP1 spec */</a> <a name="117"><span class="lineNum"> 117 </span> :<span class="lineNoCov"> 0 : dt_add_property_cells(node, "reg-offset", 0xb0016000);</span></a> -<a name="118"><span class="lineNum"> 118 </span> :<span class="lineCov"> 2 : } else if (be16_to_cpu(sp_impl->hw_version) == 2) {</span></a> -<a name="119"><span class="lineNum"> 119 </span> :<span class="lineCov"> 2 : dt_add_property_strings(node, "compatible", "ibm,fsp",</span></a> +<a name="118"><span class="lineNum"> 118 </span> :<span class="lineCov"> 1 : } else if (be16_to_cpu(sp_impl->hw_version) == 2) {</span></a> +<a name="119"><span class="lineNum"> 119 </span> :<span class="lineCov"> 1 : dt_add_property_strings(node, "compatible", "ibm,fsp",</span></a> <a name="120"><span class="lineNum"> 120 </span> : : "ibm,fsp2");</a> -<a name="121"><span class="lineNum"> 121 </span> :<span class="lineCov"> 2 : dt_add_property_cells(node, "reg-offset", 0xb0011000);</span></a> +<a name="121"><span class="lineNum"> 121 </span> :<span class="lineCov"> 1 : dt_add_property_cells(node, "reg-offset", 0xb0011000);</span></a> <a name="122"><span class="lineNum"> 122 </span> : : }</a> -<a name="123"><span class="lineNum"> 123 </span> :<span class="lineCov"> 2 : dt_add_property_cells(node, "hw-version", be16_to_cpu(sp_impl->hw_version));</span></a> -<a name="124"><span class="lineNum"> 124 </span> :<span class="lineCov"> 2 : dt_add_property_cells(node, "sw-version", be16_to_cpu(sp_impl->sw_version));</span></a> +<a name="123"><span class="lineNum"> 123 </span> :<span class="lineCov"> 1 : dt_add_property_cells(node, "hw-version", be16_to_cpu(sp_impl->hw_version));</span></a> +<a name="124"><span class="lineNum"> 124 </span> :<span class="lineCov"> 1 : dt_add_property_cells(node, "sw-version", be16_to_cpu(sp_impl->sw_version));</span></a> <a name="125"><span class="lineNum"> 125 </span> : : </a> -<a name="126"><span class="lineNum"> 126 </span> :<span class="lineCov"> 2 : if (be16_to_cpu(sp_impl->func_flags) & SPSS_SP_IMPL_FLAGS_PRIMARY)</span></a> -<a name="127"><span class="lineNum"> 127 </span> :<span class="lineCov"> 2 : dt_add_property(node, "primary", NULL, 0);</span></a> +<a name="126"><span class="lineNum"> 126 </span> :<span class="lineCov"> 1 : if (be16_to_cpu(sp_impl->func_flags) & SPSS_SP_IMPL_FLAGS_PRIMARY)</span></a> +<a name="127"><span class="lineNum"> 127 </span> :<span class="lineCov"> 1 : dt_add_property(node, "primary", NULL, 0);</span></a> <a name="128"><span class="lineNum"> 128 </span> : : </a> -<a name="129"><span class="lineNum"> 129 </span> :<span class="lineCov"> 2 : return node;</span></a> +<a name="129"><span class="lineNum"> 129 </span> :<span class="lineCov"> 1 : return node;</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> :<span class="lineCov"> 3 : static uint32_t fsp_create_link(const struct spss_iopath *iopath, int index,</span></a> +<a name="132"><span class="lineNum"> 132 </span> :<span class="lineCov"> 1 : static uint32_t fsp_create_link(const struct spss_iopath *iopath, int index,</span></a> <a name="133"><span class="lineNum"> 133 </span> : : int fsp_index)</a> <a name="134"><span class="lineNum"> 134 </span> : : {</a> <a name="135"><span class="lineNum"> 135 </span> : : struct dt_node *node;</a> <a name="136"><span class="lineNum"> 136 </span> : : const char *ststr;</a> -<a name="137"><span class="lineNum"> 137 </span> :<span class="lineCov"> 3 : bool current = false;</span></a> -<a name="138"><span class="lineNum"> 138 </span> :<span class="lineCov"> 3 : bool working = false;</span></a> +<a name="137"><span class="lineNum"> 137 </span> :<span class="lineCov"> 1 : bool current = false;</span></a> +<a name="138"><span class="lineNum"> 138 </span> :<span class="lineCov"> 1 : bool working = false;</span></a> <a name="139"><span class="lineNum"> 139 </span> : : uint32_t chip_id;</a> <a name="140"><span class="lineNum"> 140 </span> : : </a> -<a name="141"><span class="lineNum"> 141 </span> :<span class="lineCov"> 3 : switch(be16_to_cpu(iopath->psi.link_status)) {</span></a> +<a name="141"><span class="lineNum"> 141 </span> :<span class="lineCov"> 1 : switch(be16_to_cpu(iopath->psi.link_status)) {</span></a> <a name="142"><span class="lineNum"> 142 </span> :<span class="lineNoCov"> 0 : case SPSS_IO_PATH_PSI_LINK_BAD_FRU:</span></a> <a name="143"><span class="lineNum"> 143 </span> :<span class="lineNoCov"> 0 : ststr = "Broken";</span></a> <a name="144"><span class="lineNum"> 144 </span> :<span class="lineNoCov"> 0 : break;</span></a> -<a name="145"><span class="lineNum"> 145 </span> :<span class="lineCov"> 2 : case SPSS_IO_PATH_PSI_LINK_CURRENT:</span></a> -<a name="146"><span class="lineNum"> 146 </span> :<span class="lineCov"> 2 : ststr = "Active";</span></a> -<a name="147"><span class="lineNum"> 147 </span> :<span class="lineCov"> 2 : current = working = true;</span></a> -<a name="148"><span class="lineNum"> 148 </span> :<span class="lineCov"> 2 : break;</span></a> -<a name="149"><span class="lineNum"> 149 </span> :<span class="lineCov"> 1 : case SPSS_IO_PATH_PSI_LINK_BACKUP:</span></a> -<a name="150"><span class="lineNum"> 150 </span> :<span class="lineCov"> 1 : ststr = "Backup";</span></a> -<a name="151"><span class="lineNum"> 151 </span> :<span class="lineCov"> 1 : working = true;</span></a> -<a name="152"><span class="lineNum"> 152 </span> :<span class="lineCov"> 1 : break;</span></a> +<a name="145"><span class="lineNum"> 145 </span> :<span class="lineCov"> 1 : case SPSS_IO_PATH_PSI_LINK_CURRENT:</span></a> +<a name="146"><span class="lineNum"> 146 </span> :<span class="lineCov"> 1 : ststr = "Active";</span></a> +<a name="147"><span class="lineNum"> 147 </span> :<span class="lineCov"> 1 : current = working = true;</span></a> +<a name="148"><span class="lineNum"> 148 </span> :<span class="lineCov"> 1 : break;</span></a> +<a name="149"><span class="lineNum"> 149 </span> :<span class="lineNoCov"> 0 : case SPSS_IO_PATH_PSI_LINK_BACKUP:</span></a> +<a name="150"><span class="lineNum"> 150 </span> :<span class="lineNoCov"> 0 : ststr = "Backup";</span></a> +<a name="151"><span class="lineNum"> 151 </span> :<span class="lineNoCov"> 0 : working = true;</span></a> +<a name="152"><span class="lineNum"> 152 </span> :<span class="lineNoCov"> 0 : break;</span></a> <a name="153"><span class="lineNum"> 153 </span> :<span class="lineNoCov"> 0 : default:</span></a> <a name="154"><span class="lineNum"> 154 </span> :<span class="lineNoCov"> 0 : ststr = "Unknown";</span></a> <a name="155"><span class="lineNum"> 155 </span> : : }</a> -<a name="156"><span class="lineNum"> 156 </span> :<span class="lineCov"> 3 : prlog(PR_DEBUG, "FSP #%d: IO PATH %d is %s PSI Link, GXHB at %" PRIx64 "\n",</span></a> +<a name="156"><span class="lineNum"> 156 </span> :<span class="lineCov"> 1 : prlog(PR_DEBUG, "FSP #%d: IO PATH %d is %s PSI Link, GXHB at %" PRIx64 "\n",</span></a> <a name="157"><span class="lineNum"> 157 </span> : : fsp_index, index, ststr, be64_to_cpu(iopath->psi.gxhb_base));</a> <a name="158"><span class="lineNum"> 158 </span> : : </a> -<a name="159"><span class="lineNum"> 159 </span> :<span class="lineCov"> 3 : chip_id = pcid_to_chip_id(be32_to_cpu(iopath->psi.proc_chip_id));</span></a> -<a name="160"><span class="lineNum"> 160 </span> :<span class="lineCov"> 3 : node = dt_find_compatible_node_on_chip(dt_root, NULL, "ibm,psihb-x",</span></a> +<a name="159"><span class="lineNum"> 159 </span> :<span class="lineCov"> 1 : chip_id = pcid_to_chip_id(be32_to_cpu(iopath->psi.proc_chip_id));</span></a> +<a name="160"><span class="lineNum"> 160 </span> :<span class="lineCov"> 1 : node = dt_find_compatible_node_on_chip(dt_root, NULL, "ibm,psihb-x",</span></a> <a name="161"><span class="lineNum"> 161 </span> : : chip_id);</a> -<a name="162"><span class="lineNum"> 162 </span> :<span class="lineCov"> 3 : if (!node) {</span></a> +<a name="162"><span class="lineNum"> 162 </span> :<span class="lineCov"> 1 : if (!node) {</span></a> <a name="163"><span class="lineNum"> 163 </span> :<span class="lineNoCov"> 0 : prerror("FSP #%d: Can't find psihb node for link %d\n",</span></a> <a name="164"><span class="lineNum"> 164 </span> : : fsp_index, index);</a> <a name="165"><span class="lineNum"> 165 </span> : : } else {</a> -<a name="166"><span class="lineNum"> 166 </span> :<span class="lineCov"> 3 : if (current)</span></a> -<a name="167"><span class="lineNum"> 167 </span> :<span class="lineCov"> 2 : dt_add_property(node, "boot-link", NULL, 0);</span></a> -<a name="168"><span class="lineNum"> 168 </span> :<span class="lineCov"> 3 : dt_add_property_strings(node, "status", working ? "ok" : "bad");</span></a> +<a name="166"><span class="lineNum"> 166 </span> :<span class="lineCov"> 1 : if (current)</span></a> +<a name="167"><span class="lineNum"> 167 </span> :<span class="lineCov"> 1 : dt_add_property(node, "boot-link", NULL, 0);</span></a> +<a name="168"><span class="lineNum"> 168 </span> :<span class="lineCov"> 1 : dt_add_property_strings(node, "status", working ? "ok" : "bad");</span></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> :<span class="lineCov"> 3 : return chip_id;</span></a> +<a name="171"><span class="lineNum"> 171 </span> :<span class="lineCov"> 1 : return chip_id;</span></a> <a name="172"><span class="lineNum"> 172 </span> : : }</a> <a name="173"><span class="lineNum"> 173 </span> : : </a> -<a name="174"><span class="lineNum"> 174 </span> :<span class="lineCov"> 2 : static void fsp_create_links(const void *spss, int index,</span></a> +<a name="174"><span class="lineNum"> 174 </span> :<span class="lineCov"> 1 : static void fsp_create_links(const void *spss, int index,</span></a> <a name="175"><span class="lineNum"> 175 </span> : : struct dt_node *fsp_node)</a> <a name="176"><span class="lineNum"> 176 </span> : : {</a> -<a name="177"><span class="lineNum"> 177 </span> :<span class="lineCov"> 2 : __be32 *links = NULL;</span></a> -<a name="178"><span class="lineNum"> 178 </span> :<span class="lineCov"> 2 : unsigned int i, lp, lcount = 0;</span></a> +<a name="177"><span class="lineNum"> 177 </span> :<span class="lineCov"> 1 : __be32 *links = NULL;</span></a> +<a name="178"><span class="lineNum"> 178 </span> :<span class="lineCov"> 1 : unsigned int i, lp, lcount = 0;</span></a> <a name="179"><span class="lineNum"> 179 </span> : : int count;</a> <a name="180"><span class="lineNum"> 180 </span> : : </a> -<a name="181"><span class="lineNum"> 181 </span> :<span class="lineCov"> 2 : count = HDIF_get_iarray_size(spss, SPSS_IDATA_SP_IOPATH);</span></a> -<a name="182"><span class="lineNum"> 182 </span> :<span class="lineCov"> 2 : if (count < 0) {</span></a> +<a name="181"><span class="lineNum"> 181 </span> :<span class="lineCov"> 1 : count = HDIF_get_iarray_size(spss, SPSS_IDATA_SP_IOPATH);</span></a> +<a name="182"><span class="lineNum"> 182 </span> :<span class="lineCov"> 1 : if (count < 0) {</span></a> <a name="183"><span class="lineNum"> 183 </span> :<span class="lineNoCov"> 0 : prerror("FSP #%d: Can't find IO PATH array size !\n", index);</span></a> <a name="184"><span class="lineNum"> 184 </span> :<span class="lineNoCov"> 0 : return;</span></a> <a name="185"><span class="lineNum"> 185 </span> : : }</a> -<a name="186"><span class="lineNum"> 186 </span> :<span class="lineCov"> 2 : prlog(PR_DEBUG, "FSP #%d: Found %d IO PATH\n", index, count);</span></a> +<a name="186"><span class="lineNum"> 186 </span> :<span class="lineCov"> 1 : prlog(PR_DEBUG, "FSP #%d: Found %d IO PATH\n", index, count);</span></a> <a name="187"><span class="lineNum"> 187 </span> : : </a> <a name="188"><span class="lineNum"> 188 </span> : : /* Iterate all links */</a> -<a name="189"><span class="lineNum"> 189 </span> :<span class="lineCov"> 5 : for (i = 0; i < count; i++) {</span></a> +<a name="189"><span class="lineNum"> 189 </span> :<span class="lineCov"> 2 : for (i = 0; i < count; i++) {</span></a> <a name="190"><span class="lineNum"> 190 </span> : : const struct spss_iopath *iopath;</a> <a name="191"><span class="lineNum"> 191 </span> : : unsigned int iopath_sz;</a> <a name="192"><span class="lineNum"> 192 </span> : : uint32_t chip;</a> <a name="193"><span class="lineNum"> 193 </span> : : </a> -<a name="194"><span class="lineNum"> 194 </span> :<span class="lineCov"> 3 : iopath = HDIF_get_iarray_item(spss, SPSS_IDATA_SP_IOPATH,</span></a> +<a name="194"><span class="lineNum"> 194 </span> :<span class="lineCov"> 1 : iopath = HDIF_get_iarray_item(spss, SPSS_IDATA_SP_IOPATH,</span></a> <a name="195"><span class="lineNum"> 195 </span> : : i, &iopath_sz);</a> -<a name="196"><span class="lineNum"> 196 </span> :<span class="lineCov"> 3 : if (!CHECK_SPPTR(iopath)) {</span></a> +<a name="196"><span class="lineNum"> 196 </span> :<span class="lineCov"> 1 : if (!CHECK_SPPTR(iopath)) {</span></a> <a name="197"><span class="lineNum"> 197 </span> :<span class="lineNoCov"> 0 : prerror("FSP #%d: Can't find IO PATH %d\n", index, i);</span></a> <a name="198"><span class="lineNum"> 198 </span> :<span class="lineNoCov"> 0 : break;</span></a> <a name="199"><span class="lineNum"> 199 </span> : : }</a> -<a name="200"><span class="lineNum"> 200 </span> :<span class="lineCov"> 3 : if (be16_to_cpu(iopath->iopath_type) != SPSS_IOPATH_TYPE_PSI) {</span></a> +<a name="200"><span class="lineNum"> 200 </span> :<span class="lineCov"> 1 : if (be16_to_cpu(iopath->iopath_type) != SPSS_IOPATH_TYPE_PSI) {</span></a> <a name="201"><span class="lineNum"> 201 </span> :<span class="lineNoCov"> 0 : prerror("FSP #%d: Unsupported IO PATH %d type 0x%04x\n",</span></a> <a name="202"><span class="lineNum"> 202 </span> : : index, i, iopath->iopath_type);</a> <a name="203"><span class="lineNum"> 203 </span> :<span class="lineNoCov"> 0 : continue;</span></a> <a name="204"><span class="lineNum"> 204 </span> : : }</a> <a name="205"><span class="lineNum"> 205 </span> : : </a> -<a name="206"><span class="lineNum"> 206 </span> :<span class="lineCov"> 3 : chip = fsp_create_link(iopath, i, index);</span></a> -<a name="207"><span class="lineNum"> 207 </span> :<span class="lineCov"> 3 : lp = lcount++;</span></a> -<a name="208"><span class="lineNum"> 208 </span> :<span class="lineCov"> 3 : links = realloc(links, 4 * lcount);</span></a> -<a name="209"><span class="lineNum"> 209 </span> :<span class="lineCov"> 3 : links[lp] = cpu_to_be32(chip);</span></a> +<a name="206"><span class="lineNum"> 206 </span> :<span class="lineCov"> 1 : chip = fsp_create_link(iopath, i, index);</span></a> +<a name="207"><span class="lineNum"> 207 </span> :<span class="lineCov"> 1 : lp = lcount++;</span></a> +<a name="208"><span class="lineNum"> 208 </span> :<span class="lineCov"> 1 : links = realloc(links, 4 * lcount);</span></a> +<a name="209"><span class="lineNum"> 209 </span> :<span class="lineCov"> 1 : links[lp] = cpu_to_be32(chip);</span></a> <a name="210"><span class="lineNum"> 210 </span> : : }</a> -<a name="211"><span class="lineNum"> 211 </span> :<span class="lineCov"> 2 : if (links)</span></a> -<a name="212"><span class="lineNum"> 212 </span> :<span class="lineCov"> 2 : dt_add_property(fsp_node, "ibm,psi-links", links, lcount * 4);</span></a> +<a name="211"><span class="lineNum"> 211 </span> :<span class="lineCov"> 1 : if (links)</span></a> +<a name="212"><span class="lineNum"> 212 </span> :<span class="lineCov"> 1 : dt_add_property(fsp_node, "ibm,psi-links", links, lcount * 4);</span></a> <a name="213"><span class="lineNum"> 213 </span> : : </a> -<a name="214"><span class="lineNum"> 214 </span> :<span class="lineCov"> 2 : free(links);</span></a> +<a name="214"><span class="lineNum"> 214 </span> :<span class="lineCov"> 1 : free(links);</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 struct dt_node *add_lpc_io_node(struct dt_node *parent,</span></a> @@ -353,7 +353,7 @@ <a name="282"><span class="lineNum"> 282 </span> :<span class="lineNoCov"> 0 : return;</span></a> <a name="283"><span class="lineNum"> 283 </span> : : }</a> <a name="284"><span class="lineNum"> 284 </span> : : </a> -<a name="285"><span class="lineNum"> 285 </span> :<span class="lineNoCov"> 0 : for_each_ntuple_idx(&spira.ntuples.proc_chip, hdif, i, SPPCRD_HDIF_SIG) {</span></a> +<a name="285"><span class="lineNum"> 285 </span> :<span class="lineNoCov"> 0 : for_each_ntuple_idx(&spiras->ntuples.proc_chip, hdif, i, SPPCRD_HDIF_SIG) {</span></a> <a name="286"><span class="lineNum"> 286 </span> :<span class="lineNoCov"> 0 : fru_id = HDIF_get_idata(hdif, SPPCRD_IDATA_FRU_ID, NULL);</span></a> <a name="287"><span class="lineNum"> 287 </span> :<span class="lineNoCov"> 0 : if (!fru_id)</span></a> <a name="288"><span class="lineNum"> 288 </span> :<span class="lineNoCov"> 0 : return;</span></a> @@ -380,7 +380,7 @@ <a name="309"><span class="lineNum"> 309 </span> : : const struct ipmi_sensors *ipmi_sensors;</a> <a name="310"><span class="lineNum"> 310 </span> : : struct dt_node *sensors_node, *sensor_node;</a> <a name="311"><span class="lineNum"> 311 </span> : : </a> -<a name="312"><span class="lineNum"> 312 </span> :<span class="lineNoCov"> 0 : hdif_sensor = get_hdif(&spira.ntuples.ipmi_sensor, IPMI_SENSORS_HDIF_SIG);</span></a> +<a name="312"><span class="lineNum"> 312 </span> :<span class="lineNoCov"> 0 : hdif_sensor = get_hdif(&spiras->ntuples.ipmi_sensor, IPMI_SENSORS_HDIF_SIG);</span></a> <a name="313"><span class="lineNum"> 313 </span> :<span class="lineNoCov"> 0 : if (!hdif_sensor) {</span></a> <a name="314"><span class="lineNum"> 314 </span> :<span class="lineNoCov"> 0 : prlog(PR_DEBUG, "SENSORS: Missing IPMI sensors mappings tuple\n");</span></a> <a name="315"><span class="lineNum"> 315 </span> :<span class="lineNoCov"> 0 : return;</span></a> @@ -563,58 +563,58 @@ <a name="492"><span class="lineNum"> 492 </span> : : * below, but it can be called earlier since BMCs don't depend on the psihb</a> <a name="493"><span class="lineNum"> 493 </span> : : * nodes being added.</a> <a name="494"><span class="lineNum"> 494 </span> : : */</a> -<a name="495"><span class="lineNum"> 495 </span> :<span class="lineCov"> 2 : void bmc_parse(void)</span></a> +<a name="495"><span class="lineNum"> 495 </span> :<span class="lineCov"> 1 : void bmc_parse(void)</span></a> <a name="496"><span class="lineNum"> 496 </span> : : {</a> -<a name="497"><span class="lineNum"> 497 </span> :<span class="lineCov"> 2 : bool found = false;</span></a> +<a name="497"><span class="lineNum"> 497 </span> :<span class="lineCov"> 1 : bool found = false;</span></a> <a name="498"><span class="lineNum"> 498 </span> : : const void *sp;</a> <a name="499"><span class="lineNum"> 499 </span> : : int i;</a> <a name="500"><span class="lineNum"> 500 </span> : : </a> -<a name="501"><span class="lineNum"> 501 </span> :<span class="lineCov"> 2 : sp = get_hdif(&spira.ntuples.sp_subsys, SPSS_HDIF_SIG);</span></a> -<a name="502"><span class="lineNum"> 502 </span> :<span class="lineCov"> 2 : if (!sp)</span></a> +<a name="501"><span class="lineNum"> 501 </span> :<span class="lineCov"> 1 : sp = get_hdif(&spiras->ntuples.sp_subsys, SPSS_HDIF_SIG);</span></a> +<a name="502"><span class="lineNum"> 502 </span> :<span class="lineCov"> 1 : if (!sp)</span></a> <a name="503"><span class="lineNum"> 503 </span> :<span class="lineNoCov"> 0 : return;</span></a> <a name="504"><span class="lineNum"> 504 </span> : : </a> -<a name="505"><span class="lineNum"> 505 </span> :<span class="lineCov"> 4 : for_each_ntuple_idx(&spira.ntuples.sp_subsys, sp, i, SPSS_HDIF_SIG) {</span></a> -<a name="506"><span class="lineNum"> 506 </span> :<span class="lineCov"> 2 : if (find_service_proc_type(sp, i) == SP_BMC) {</span></a> +<a name="505"><span class="lineNum"> 505 </span> :<span class="lineCov"> 2 : for_each_ntuple_idx(&spiras->ntuples.sp_subsys, sp, i, SPSS_HDIF_SIG) {</span></a> +<a name="506"><span class="lineNum"> 506 </span> :<span class="lineCov"> 1 : if (find_service_proc_type(sp, i) == SP_BMC) {</span></a> <a name="507"><span class="lineNum"> 507 </span> :<span class="lineNoCov"> 0 : bmc_create_node(sp);</span></a> <a name="508"><span class="lineNum"> 508 </span> :<span class="lineNoCov"> 0 : found = true;</span></a> <a name="509"><span class="lineNum"> 509 </span> : : }</a> <a name="510"><span class="lineNum"> 510 </span> : : }</a> <a name="511"><span class="lineNum"> 511 </span> : : </a> -<a name="512"><span class="lineNum"> 512 </span> :<span class="lineCov"> 2 : if (found)</span></a> +<a name="512"><span class="lineNum"> 512 </span> :<span class="lineCov"> 1 : if (found)</span></a> <a name="513"><span class="lineNum"> 513 </span> :<span class="lineNoCov"> 0 : early_uart_init();</span></a> <a name="514"><span class="lineNum"> 514 </span> : : }</a> <a name="515"><span class="lineNum"> 515 </span> : : </a> -<a name="516"><span class="lineNum"> 516 </span> :<span class="lineCov"> 2 : void fsp_parse(void)</span></a> +<a name="516"><span class="lineNum"> 516 </span> :<span class="lineCov"> 1 : void fsp_parse(void)</span></a> <a name="517"><span class="lineNum"> 517 </span> : : {</a> -<a name="518"><span class="lineNum"> 518 </span> :<span class="lineCov"> 2 : struct dt_node *fsp_root = NULL, *fsp_node;</span></a> +<a name="518"><span class="lineNum"> 518 </span> :<span class="lineCov"> 1 : struct dt_node *fsp_root = NULL, *fsp_node;</span></a> <a name="519"><span class="lineNum"> 519 </span> : : const void *sp;</a> <a name="520"><span class="lineNum"> 520 </span> : : int index;</a> <a name="521"><span class="lineNum"> 521 </span> : : </a> <a name="522"><span class="lineNum"> 522 </span> : : /* Find SPSS tuple in SPIRA */</a> -<a name="523"><span class="lineNum"> 523 </span> :<span class="lineCov"> 2 : sp = get_hdif(&spira.ntuples.sp_subsys, SPSS_HDIF_SIG);</span></a> -<a name="524"><span class="lineNum"> 524 </span> :<span class="lineCov"> 2 : if (!sp) {</span></a> +<a name="523"><span class="lineNum"> 523 </span> :<span class="lineCov"> 1 : sp = get_hdif(&spiras->ntuples.sp_subsys, SPSS_HDIF_SIG);</span></a> +<a name="524"><span class="lineNum"> 524 </span> :<span class="lineCov"> 1 : if (!sp) {</span></a> <a name="525"><span class="lineNum"> 525 </span> :<span class="lineNoCov"> 0 : prlog(PR_WARNING, "HDAT: No FSP/BMC found!\n");</span></a> <a name="526"><span class="lineNum"> 526 </span> :<span class="lineNoCov"> 0 : return;</span></a> <a name="527"><span class="lineNum"> 527 </span> : : }</a> <a name="528"><span class="lineNum"> 528 </span> : : </a> -<a name="529"><span class="lineNum"> 529 </span> :<span class="lineCov"> 4 : for_each_ntuple_idx(&spira.ntuples.sp_subsys, sp, index, SPSS_HDIF_SIG) {</span></a> -<a name="530"><span class="lineNum"> 530 </span> :<span class="lineCov"> 2 : switch (find_service_proc_type(sp, index)) {</span></a> -<a name="531"><span class="lineNum"> 531 </span> :<span class="lineCov"> 2 : case SP_FSP:</span></a> -<a name="532"><span class="lineNum"> 532 </span> :<span class="lineCov"> 2 : if (!fsp_root) {</span></a> -<a name="533"><span class="lineNum"> 533 </span> :<span class="lineCov"> 2 : fsp_root = dt_new(dt_root, "fsps");</span></a> -<a name="534"><span class="lineNum"> 534 </span> :<span class="lineCov"> 2 : assert(fsp_root);</span></a> +<a name="529"><span class="lineNum"> 529 </span> :<span class="lineCov"> 2 : for_each_ntuple_idx(&spiras->ntuples.sp_subsys, sp, index, SPSS_HDIF_SIG) {</span></a> +<a name="530"><span class="lineNum"> 530 </span> :<span class="lineCov"> 1 : switch (find_service_proc_type(sp, index)) {</span></a> +<a name="531"><span class="lineNum"> 531 </span> :<span class="lineCov"> 1 : case SP_FSP:</span></a> +<a name="532"><span class="lineNum"> 532 </span> :<span class="lineCov"> 1 : if (!fsp_root) {</span></a> +<a name="533"><span class="lineNum"> 533 </span> :<span class="lineCov"> 1 : fsp_root = dt_new(dt_root, "fsps");</span></a> +<a name="534"><span class="lineNum"> 534 </span> :<span class="lineCov"> 1 : assert(fsp_root);</span></a> <a name="535"><span class="lineNum"> 535 </span> : : </a> -<a name="536"><span class="lineNum"> 536 </span> :<span class="lineCov"> 2 : dt_add_property_cells(fsp_root,</span></a> +<a name="536"><span class="lineNum"> 536 </span> :<span class="lineCov"> 1 : dt_add_property_cells(fsp_root,</span></a> <a name="537"><span class="lineNum"> 537 </span> : : "#address-cells", 1);</a> -<a name="538"><span class="lineNum"> 538 </span> :<span class="lineCov"> 2 : dt_add_property_cells(fsp_root,</span></a> +<a name="538"><span class="lineNum"> 538 </span> :<span class="lineCov"> 1 : dt_add_property_cells(fsp_root,</span></a> <a name="539"><span class="lineNum"> 539 </span> : : "#size-cells", 0);</a> <a name="540"><span class="lineNum"> 540 </span> : : }</a> <a name="541"><span class="lineNum"> 541 </span> : : </a> -<a name="542"><span class="lineNum"> 542 </span> :<span class="lineCov"> 2 : fsp_node = fsp_create_node(sp, index, fsp_root);</span></a> -<a name="543"><span class="lineNum"> 543 </span> :<span class="lineCov"> 2 : if (fsp_node)</span></a> -<a name="544"><span class="lineNum"> 544 </span> :<span class="lineCov"> 2 : fsp_create_links(sp, index, fsp_node);</span></a> +<a name="542"><span class="lineNum"> 542 </span> :<span class="lineCov"> 1 : fsp_node = fsp_create_node(sp, index, fsp_root);</span></a> +<a name="543"><span class="lineNum"> 543 </span> :<span class="lineCov"> 1 : if (fsp_node)</span></a> +<a name="544"><span class="lineNum"> 544 </span> :<span class="lineCov"> 1 : fsp_create_links(sp, index, fsp_node);</span></a> <a name="545"><span class="lineNum"> 545 </span> : : </a> -<a name="546"><span class="lineNum"> 546 </span> :<span class="lineCov"> 2 : break;</span></a> +<a name="546"><span class="lineNum"> 546 </span> :<span class="lineCov"> 1 : break;</span></a> <a name="547"><span class="lineNum"> 547 </span> : : </a> <a name="548"><span class="lineNum"> 548 </span> :<span class="lineNoCov"> 0 : case SP_BMC:</span></a> <a name="549"><span class="lineNum"> 549 </span> : : /* Handled above */</a> diff --git a/coverage-report/hdata/hdif.c.func-sort-c.html b/coverage-report/hdata/hdif.c.func-sort-c.html index 035f350..69417b5 100644 --- a/coverage-report/hdata/hdif.c.func-sort-c.html +++ b/coverage-report/hdata/hdif.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">47</td> - <td class="headerCovTableEntry">93</td> - <td class="headerCovTableEntryLo">50.5 %</td> + <td class="headerCovTableEntry">52</td> + <td class="headerCovTableEntry">104</td> + <td class="headerCovTableEntryLo">50.0 %</td> </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> - <td class="headerCovTableEntry">6</td> <td class="headerCovTableEntry">7</td> - <td class="headerCovTableEntryMed">85.7 %</td> + <td class="headerCovTableEntry">8</td> + <td class="headerCovTableEntryMed">87.5 %</td> </tr> <tr> <td></td> @@ -69,32 +69,36 @@ <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="hdif.c.gcov.html#143">HDIF_iarray_item</a></td> + <td class="coverFn"><a href="hdif.c.gcov.html#153">HDIF_iarray_item</a></td> <td class="coverFnLo">0</td> </tr> <tr> - <td class="coverFn"><a href="hdif.c.gcov.html#97">HDIF_get_iarray</a></td> - <td class="coverFnHi">2</td> + <td class="coverFn"><a href="hdif.c.gcov.html#107">HDIF_get_iarray</a></td> + <td class="coverFnHi">1</td> </tr> <tr> - <td class="coverFn"><a href="hdif.c.gcov.html#154">HDIF_child_arr</a></td> - <td class="coverFnHi">14</td> + <td class="coverFn"><a href="hdif.c.gcov.html#164">HDIF_child_arr</a></td> + <td class="coverFnHi">5</td> </tr> <tr> - <td class="coverFn"><a href="hdif.c.gcov.html#169">HDIF_child</a></td> - <td class="coverFnHi">18</td> + <td class="coverFn"><a href="hdif.c.gcov.html#185">HDIF_child</a></td> + <td class="coverFnHi">6</td> </tr> <tr> - <td class="coverFn"><a href="hdif.c.gcov.html#64">HDIF_get_iarray_size</a></td> - <td class="coverFnHi">773</td> + <td class="coverFn"><a href="hdif.c.gcov.html#74">HDIF_get_iarray_size</a></td> + <td class="coverFnHi">253</td> </tr> <tr> - <td class="coverFn"><a href="hdif.c.gcov.html#32">HDIF_get_iarray_item</a></td> - <td class="coverFnHi">2243</td> + <td class="coverFn"><a href="hdif.c.gcov.html#42">HDIF_get_iarray_item</a></td> + <td class="coverFnHi">598</td> </tr> <tr> - <td class="coverFn"><a href="hdif.c.gcov.html#5">HDIF_get_idata</a></td> - <td class="coverFnHi">3700</td> + <td class="coverFn"><a href="hdif.c.gcov.html#27">HDIF_get_idata</a></td> + <td class="coverFnHi">1067</td> + </tr> + <tr> + <td class="coverFn"><a href="hdif.c.gcov.html#6">HDIF_idata</a></td> + <td class="coverFnHi">1067</td> </tr> </table> <br> diff --git a/coverage-report/hdata/hdif.c.func.html b/coverage-report/hdata/hdif.c.func.html index 4a7917b..4705f2e 100644 --- a/coverage-report/hdata/hdif.c.func.html +++ b/coverage-report/hdata/hdif.c.func.html @@ -31,18 +31,18 @@ <td class="headerValue">skiboot.info</td> <td></td> <td class="headerItem">Lines:</td> - <td class="headerCovTableEntry">47</td> - <td class="headerCovTableEntry">93</td> - <td class="headerCovTableEntryLo">50.5 %</td> + <td class="headerCovTableEntry">52</td> + <td class="headerCovTableEntry">104</td> + <td class="headerCovTableEntryLo">50.0 %</td> </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> - <td class="headerCovTableEntry">6</td> <td class="headerCovTableEntry">7</td> - <td class="headerCovTableEntryMed">85.7 %</td> + <td class="headerCovTableEntry">8</td> + <td class="headerCovTableEntryMed">87.5 %</td> </tr> <tr> <td></td> @@ -69,33 +69,37 @@ <td width="20%" class="tableHead">Hit count <span class="tableHeadSort"><a href="hdif.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="hdif.c.gcov.html#169">HDIF_child</a></td> - <td class="coverFnHi">18</td> + <td class="coverFn"><a href="hdif.c.gcov.html#185">HDIF_child</a></td> + <td class="coverFnHi">6</td> </tr> <tr> - <td class="coverFn"><a href="hdif.c.gcov.html#154">HDIF_child_arr</a></td> - <td class="coverFnHi">14</td> + <td class="coverFn"><a href="hdif.c.gcov.html#164">HDIF_child_arr</a></td> + <td class="coverFnHi">5</td> </tr> <tr> - <td class="coverFn"><a href="hdif.c.gcov.html#97">HDIF_get_iarray</a></td> - <td class="coverFnHi">2</td> + <td class="coverFn"><a href="hdif.c.gcov.html#107">HDIF_get_iarray</a></td> + <td class="coverFnHi">1</td> </tr> <tr> - <td class="coverFn"><a href="hdif.c.gcov.html#32">HDIF_get_iarray_item</a></td> - <td class="coverFnHi">2243</td> + <td class="coverFn"><a href="hdif.c.gcov.html#42">HDIF_get_iarray_item</a></td> + <td class="coverFnHi">598</td> </tr> <tr> - <td class="coverFn"><a href="hdif.c.gcov.html#64">HDIF_get_iarray_size</a></td> - <td class="coverFnHi">773</td> + <td class="coverFn"><a href="hdif.c.gcov.html#74">HDIF_get_iarray_size</a></td> + <td class="coverFnHi">253</td> </tr> <tr> - <td class="coverFn"><a href="hdif.c.gcov.html#5">HDIF_get_idata</a></td> - <td class="coverFnHi">3700</td> + <td class="coverFn"><a href="hdif.c.gcov.html#27">HDIF_get_idata</a></td> + <td class="coverFnHi">1067</td> </tr> <tr> - <td class="coverFn"><a href="hdif.c.gcov.html#143">HDIF_iarray_item</a></td> + <td class="coverFn"><a href="hdif.c.gcov.html#153">HDIF_iarray_item</a></td> <td class="coverFnLo">0</td> </tr> + <tr> + <td class="coverFn"><a href="hdif.c.gcov.html#6">HDIF_idata</a></td> + <td class="coverFnHi">1067</td> + </tr> </table> <br> </center> diff --git a/coverage-report/hdata/hdif.c.gcov.html b/coverage-report/hdata/hdif.c.gcov.html index 6986f3a..378dbdb 100644 --- a/coverage-report/hdata/hdif.c.gcov.html +++ b/coverage-report/hdata/hdif.c.gcov.html @@ -31,18 +31,18 @@ <td class="headerValue">skiboot.info</td> <td></td> <td class="headerItem">Lines:</td> - <td class="headerCovTableEntry">47</td> - <td class="headerCovTableEntry">93</td> - <td class="headerCovTableEntryLo">50.5 %</td> + <td class="headerCovTableEntry">52</td> + <td class="headerCovTableEntry">104</td> + <td class="headerCovTableEntryLo">50.0 %</td> </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> - <td class="headerCovTableEntry">6</td> <td class="headerCovTableEntry">7</td> - <td class="headerCovTableEntryMed">85.7 %</td> + <td class="headerCovTableEntry">8</td> + <td class="headerCovTableEntryMed">87.5 %</td> </tr> <tr> <td></td> @@ -75,205 +75,227 @@ <a name="4"><span class="lineNum"> 4 </span> : : #include "hdif.h"</a> <a name="5"><span class="lineNum"> 5 </span> : : #include <stack.h></a> <a name="6"><span class="lineNum"> 6 </span> : : </a> -<a name="7"><span class="lineNum"> 7 </span> :<span class="lineCov"> 3700 : const void *HDIF_get_idata(const struct HDIF_common_hdr *hdif, unsigned int di,</span></a> -<a name="8"><span class="lineNum"> 8 </span> : : unsigned int *size)</a> +<a name="7"><span class="lineNum"> 7 </span> : : static const struct HDIF_idata_ptr *</a> +<a name="8"><span class="lineNum"> 8 </span> :<span class="lineCov"> 1067 : HDIF_idata(const struct HDIF_common_hdr *hdif, unsigned int idx)</span></a> <a name="9"><span class="lineNum"> 9 </span> : : {</a> -<a name="10"><span class="lineNum"> 10 </span> :<span class="lineCov"> 3700 : const struct HDIF_common_hdr *hdr = hdif;</span></a> -<a name="11"><span class="lineNum"> 11 </span> : : const struct HDIF_idata_ptr *iptr;</a> -<a name="12"><span class="lineNum"> 12 </span> : : </a> -<a name="13"><span class="lineNum"> 13 </span> :<span class="lineCov"> 3700 : if (be16_to_cpu(hdr->d1f0) != 0xd1f0) {</span></a> -<a name="14"><span class="lineNum"> 14 </span> :<span class="lineNoCov"> 0 : prerror("HDIF: Bad header format !\n");</span></a> -<a name="15"><span class="lineNum"> 15 </span> :<span class="lineNoCov"> 0 : backtrace();</span></a> -<a name="16"><span class="lineNum"> 16 </span> :<span class="lineNoCov"> 0 : return NULL;</span></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> :<span class="lineCov"> 3700 : if (di >= be16_to_cpu(hdr->idptr_count)) {</span></a> -<a name="20"><span class="lineNum"> 20 </span> :<span class="lineCov"> 2 : prlog(PR_DEBUG, "HDIF: idata %d out of range for %.6s!\n",</span></a> -<a name="21"><span class="lineNum"> 21 </span> : : di, hdr->id);</a> -<a name="22"><span class="lineNum"> 22 </span> :<span class="lineCov"> 2 : return NULL;</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"> 3698 : iptr = (void *)hdif + be32_to_cpu(hdr->idptr_off)</span></a> -<a name="26"><span class="lineNum"> 26 </span> :<span class="lineCov"> 3698 : + di * sizeof(struct HDIF_idata_ptr);</span></a> -<a name="27"><span class="lineNum"> 27 </span> : : </a> -<a name="28"><span class="lineNum"> 28 </span> :<span class="lineCov"> 3698 : if (size)</span></a> -<a name="29"><span class="lineNum"> 29 </span> :<span class="lineCov"> 3394 : *size = be32_to_cpu(iptr->size);</span></a> -<a name="30"><span class="lineNum"> 30 </span> : : </a> -<a name="31"><span class="lineNum"> 31 </span> :<span class="lineCov"> 3698 : return (void *)hdif + be32_to_cpu(iptr->offset);</span></a> -<a name="32"><span class="lineNum"> 32 </span> : : }</a> +<a name="10"><span class="lineNum"> 10 </span> : : const struct HDIF_idata_ptr *iptr;</a> +<a name="11"><span class="lineNum"> 11 </span> : : </a> +<a name="12"><span class="lineNum"> 12 </span> :<span class="lineCov"> 1067 : if (!HDIF_check(hdif, NULL)) {</span></a> +<a name="13"><span class="lineNum"> 13 </span> :<span class="lineNoCov"> 0 : prerror("HDIF: Bad header format !\n");</span></a> +<a name="14"><span class="lineNum"> 14 </span> :<span class="lineNoCov"> 0 : backtrace();</span></a> +<a name="15"><span class="lineNum"> 15 </span> :<span class="lineNoCov"> 0 : return NULL;</span></a> +<a name="16"><span class="lineNum"> 16 </span> : : }</a> +<a name="17"><span class="lineNum"> 17 </span> : : </a> +<a name="18"><span class="lineNum"> 18 </span> :<span class="lineCov"> 1067 : if (idx >= be16_to_cpu(hdif->idptr_count)) {</span></a> +<a name="19"><span class="lineNum"> 19 </span> :<span class="lineCov"> 1 : prlog(PR_DEBUG, "HDIF: idata %d out of range for %.6s!\n",</span></a> +<a name="20"><span class="lineNum"> 20 </span> : : idx, hdif->id);</a> +<a name="21"><span class="lineNum"> 21 </span> :<span class="lineCov"> 1 : return NULL;</span></a> +<a name="22"><span class="lineNum"> 22 </span> : : }</a> +<a name="23"><span class="lineNum"> 23 </span> : : </a> +<a name="24"><span class="lineNum"> 24 </span> :<span class="lineCov"> 1066 : iptr = (void *)hdif + be32_to_cpu(hdif->idptr_off);</span></a> +<a name="25"><span class="lineNum"> 25 </span> : : </a> +<a name="26"><span class="lineNum"> 26 </span> :<span class="lineCov"> 1066 : return &iptr[idx];</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> :<span class="lineCov"> 1067 : const void *HDIF_get_idata(const struct HDIF_common_hdr *hdif, unsigned int di,</span></a> +<a name="30"><span class="lineNum"> 30 </span> : : unsigned int *size)</a> +<a name="31"><span class="lineNum"> 31 </span> : : {</a> +<a name="32"><span class="lineNum"> 32 </span> : : const struct HDIF_idata_ptr *iptr;</a> <a name="33"><span class="lineNum"> 33 </span> : : </a> -<a name="34"><span class="lineNum"> 34 </span> :<span class="lineCov"> 2243 : const void *HDIF_get_iarray_item(const struct HDIF_common_hdr *hdif,</span></a> -<a name="35"><span class="lineNum"> 35 </span> : : unsigned int di, unsigned int ai,</a> -<a name="36"><span class="lineNum"> 36 </span> : : unsigned int *size)</a> -<a name="37"><span class="lineNum"> 37 </span> : : {</a> -<a name="38"><span class="lineNum"> 38 </span> : : const struct HDIF_array_hdr *ahdr;</a> -<a name="39"><span class="lineNum"> 39 </span> : : unsigned int asize;</a> -<a name="40"><span class="lineNum"> 40 </span> : : const void *arr;</a> -<a name="41"><span class="lineNum"> 41 </span> : : </a> -<a name="42"><span class="lineNum"> 42 </span> :<span class="lineCov"> 2243 : arr = HDIF_get_idata(hdif, di, &asize);</span></a> -<a name="43"><span class="lineNum"> 43 </span> :<span class="lineCov"> 2243 : if (!arr)</span></a> -<a name="44"><span class="lineNum"> 44 </span> :<span class="lineNoCov"> 0 : return NULL;</span></a> -<a name="45"><span class="lineNum"> 45 </span> : : </a> -<a name="46"><span class="lineNum"> 46 </span> :<span class="lineCov"> 2243 : if (asize < sizeof(struct HDIF_array_hdr)) {</span></a> -<a name="47"><span class="lineNum"> 47 </span> :<span class="lineNoCov"> 0 : prerror("HDIF: idata block too small for array !\n");</span></a> -<a name="48"><span class="lineNum"> 48 </span> :<span class="lineNoCov"> 0 : backtrace();</span></a> -<a name="49"><span class="lineNum"> 49 </span> :<span class="lineNoCov"> 0 : return NULL;</span></a> -<a name="50"><span class="lineNum"> 50 </span> : : }</a> +<a name="34"><span class="lineNum"> 34 </span> :<span class="lineCov"> 1067 : iptr = HDIF_idata(hdif, di);</span></a> +<a name="35"><span class="lineNum"> 35 </span> :<span class="lineCov"> 1067 : if (!iptr)</span></a> +<a name="36"><span class="lineNum"> 36 </span> :<span class="lineCov"> 1 : return NULL;</span></a> +<a name="37"><span class="lineNum"> 37 </span> : : </a> +<a name="38"><span class="lineNum"> 38 </span> :<span class="lineCov"> 1066 : if (size)</span></a> +<a name="39"><span class="lineNum"> 39 </span> :<span class="lineCov"> 969 : *size = be32_to_cpu(iptr->size);</span></a> +<a name="40"><span class="lineNum"> 40 </span> : : </a> +<a name="41"><span class="lineNum"> 41 </span> :<span class="lineCov"> 1066 : return (void *)hdif + be32_to_cpu(iptr->offset);</span></a> +<a name="42"><span class="lineNum"> 42 </span> : : }</a> +<a name="43"><span class="lineNum"> 43 </span> : : </a> +<a name="44"><span class="lineNum"> 44 </span> :<span class="lineCov"> 598 : const void *HDIF_get_iarray_item(const struct HDIF_common_hdr *hdif,</span></a> +<a name="45"><span class="lineNum"> 45 </span> : : unsigned int di, unsigned int ai,</a> +<a name="46"><span class="lineNum"> 46 </span> : : unsigned int *size)</a> +<a name="47"><span class="lineNum"> 47 </span> : : {</a> +<a name="48"><span class="lineNum"> 48 </span> : : const struct HDIF_array_hdr *ahdr;</a> +<a name="49"><span class="lineNum"> 49 </span> : : unsigned int asize;</a> +<a name="50"><span class="lineNum"> 50 </span> : : const void *arr;</a> <a name="51"><span class="lineNum"> 51 </span> : : </a> -<a name="52"><span class="lineNum"> 52 </span> :<span class="lineCov"> 2243 : ahdr = arr;</span></a> -<a name="53"><span class="lineNum"> 53 </span> : : </a> -<a name="54"><span class="lineNum"> 54 </span> :<span class="lineCov"> 2243 : if (ai >= be32_to_cpu(ahdr->ecnt)) {</span></a> -<a name="55"><span class="lineNum"> 55 </span> :<span class="lineNoCov"> 0 : prerror("HDIF: idata array index out of range !\n");</span></a> -<a name="56"><span class="lineNum"> 56 </span> :<span class="lineNoCov"> 0 : backtrace();</span></a> -<a name="57"><span class="lineNum"> 57 </span> :<span class="lineNoCov"> 0 : return NULL;</span></a> -<a name="58"><span class="lineNum"> 58 </span> : : }</a> -<a name="59"><span class="lineNum"> 59 </span> : : </a> -<a name="60"><span class="lineNum"> 60 </span> :<span class="lineCov"> 2243 : if (size)</span></a> -<a name="61"><span class="lineNum"> 61 </span> :<span class="lineCov"> 2241 : *size = be32_to_cpu(ahdr->eactsz);</span></a> -<a name="62"><span class="lineNum"> 62 </span> : : </a> -<a name="63"><span class="lineNum"> 63 </span> :<span class="lineCov"> 2243 : return arr + be32_to_cpu(ahdr->offset) + ai * be32_to_cpu(ahdr->esize);</span></a> -<a name="64"><span class="lineNum"> 64 </span> : : }</a> -<a name="65"><span class="lineNum"> 65 </span> : : </a> -<a name="66"><span class="lineNum"> 66 </span> :<span class="lineCov"> 773 : int HDIF_get_iarray_size(const struct HDIF_common_hdr *hdif, unsigned int di)</span></a> -<a name="67"><span class="lineNum"> 67 </span> : : {</a> -<a name="68"><span class="lineNum"> 68 </span> : : const struct HDIF_array_hdr *ahdr;</a> -<a name="69"><span class="lineNum"> 69 </span> : : unsigned int asize;</a> -<a name="70"><span class="lineNum"> 70 </span> : : const void *arr;</a> -<a name="71"><span class="lineNum"> 71 </span> : : </a> -<a name="72"><span class="lineNum"> 72 </span> :<span class="lineCov"> 773 : arr = HDIF_get_idata(hdif, di, &asize);</span></a> -<a name="73"><span class="lineNum"> 73 </span> :<span class="lineCov"> 773 : if (!arr)</span></a> -<a name="74"><span class="lineNum"> 74 </span> :<span class="lineNoCov"> 0 : return -1;</span></a> +<a name="52"><span class="lineNum"> 52 </span> :<span class="lineCov"> 598 : arr = HDIF_get_idata(hdif, di, &asize);</span></a> +<a name="53"><span class="lineNum"> 53 </span> :<span class="lineCov"> 598 : if (!arr)</span></a> +<a name="54"><span class="lineNum"> 54 </span> :<span class="lineNoCov"> 0 : return NULL;</span></a> +<a name="55"><span class="lineNum"> 55 </span> : : </a> +<a name="56"><span class="lineNum"> 56 </span> :<span class="lineCov"> 598 : if (asize < sizeof(struct HDIF_array_hdr)) {</span></a> +<a name="57"><span class="lineNum"> 57 </span> :<span class="lineNoCov"> 0 : prerror("HDIF: idata block too small for array !\n");</span></a> +<a name="58"><span class="lineNum"> 58 </span> :<span class="lineNoCov"> 0 : backtrace();</span></a> +<a name="59"><span class="lineNum"> 59 </span> :<span class="lineNoCov"> 0 : return NULL;</span></a> +<a name="60"><span class="lineNum"> 60 </span> : : }</a> +<a name="61"><span class="lineNum"> 61 </span> : : </a> +<a name="62"><span class="lineNum"> 62 </span> :<span class="lineCov"> 598 : ahdr = arr;</span></a> +<a name="63"><span class="lineNum"> 63 </span> : : </a> +<a name="64"><span class="lineNum"> 64 </span> :<span class="lineCov"> 598 : if (ai >= be32_to_cpu(ahdr->ecnt)) {</span></a> +<a name="65"><span class="lineNum"> 65 </span> :<span class="lineNoCov"> 0 : prerror("HDIF: idata array index out of range !\n");</span></a> +<a name="66"><span class="lineNum"> 66 </span> :<span class="lineNoCov"> 0 : backtrace();</span></a> +<a name="67"><span class="lineNum"> 67 </span> :<span class="lineNoCov"> 0 : return NULL;</span></a> +<a name="68"><span class="lineNum"> 68 </span> : : }</a> +<a name="69"><span class="lineNum"> 69 </span> : : </a> +<a name="70"><span class="lineNum"> 70 </span> :<span class="lineCov"> 598 : if (size)</span></a> +<a name="71"><span class="lineNum"> 71 </span> :<span class="lineCov"> 597 : *size = be32_to_cpu(ahdr->eactsz);</span></a> +<a name="72"><span class="lineNum"> 72 </span> : : </a> +<a name="73"><span class="lineNum"> 73 </span> :<span class="lineCov"> 598 : return arr + be32_to_cpu(ahdr->offset) + ai * be32_to_cpu(ahdr->esize);</span></a> +<a name="74"><span class="lineNum"> 74 </span> : : }</a> <a name="75"><span class="lineNum"> 75 </span> : : </a> -<a name="76"><span class="lineNum"> 76 </span> :<span class="lineCov"> 773 : if (asize < sizeof(struct HDIF_array_hdr)) {</span></a> -<a name="77"><span class="lineNum"> 77 </span> :<span class="lineNoCov"> 0 : prerror("HDIF: idata block too small for array !\n");</span></a> -<a name="78"><span class="lineNum"> 78 </span> :<span class="lineNoCov"> 0 : backtrace();</span></a> -<a name="79"><span class="lineNum"> 79 </span> :<span class="lineNoCov"> 0 : return -1;</span></a> -<a name="80"><span class="lineNum"> 80 </span> : : }</a> +<a name="76"><span class="lineNum"> 76 </span> :<span class="lineCov"> 253 : int HDIF_get_iarray_size(const struct HDIF_common_hdr *hdif, unsigned int di)</span></a> +<a name="77"><span class="lineNum"> 77 </span> : : {</a> +<a name="78"><span class="lineNum"> 78 </span> : : const struct HDIF_array_hdr *ahdr;</a> +<a name="79"><span class="lineNum"> 79 </span> : : unsigned int asize;</a> +<a name="80"><span class="lineNum"> 80 </span> : : const void *arr;</a> <a name="81"><span class="lineNum"> 81 </span> : : </a> -<a name="82"><span class="lineNum"> 82 </span> :<span class="lineCov"> 773 : ahdr = arr;</span></a> -<a name="83"><span class="lineNum"> 83 </span> :<span class="lineCov"> 773 : return be32_to_cpu(ahdr->ecnt);</span></a> -<a name="84"><span class="lineNum"> 84 </span> : : }</a> +<a name="82"><span class="lineNum"> 82 </span> :<span class="lineCov"> 253 : arr = HDIF_get_idata(hdif, di, &asize);</span></a> +<a name="83"><span class="lineNum"> 83 </span> :<span class="lineCov"> 253 : if (!arr)</span></a> +<a name="84"><span class="lineNum"> 84 </span> :<span class="lineNoCov"> 0 : return -1;</span></a> <a name="85"><span class="lineNum"> 85 </span> : : </a> -<a name="86"><span class="lineNum"> 86 </span> : : /*</a> -<a name="87"><span class="lineNum"> 87 </span> : : * Returns NULL and sets *items to zero when:</a> -<a name="88"><span class="lineNum"> 88 </span> : : *</a> -<a name="89"><span class="lineNum"> 89 </span> : : * a) Array extends beyond bounds (hard error)</a> -<a name="90"><span class="lineNum"> 90 </span> : : * b) The array is empty (soft error)</a> -<a name="91"><span class="lineNum"> 91 </span> : : * c) The item size is zero (soft error)</a> -<a name="92"><span class="lineNum"> 92 </span> : : * d) The array is missing (soft error)</a> -<a name="93"><span class="lineNum"> 93 </span> : : *</a> -<a name="94"><span class="lineNum"> 94 </span> : : * b, c) are bugs in the input data so they generate backtraces.</a> -<a name="95"><span class="lineNum"> 95 </span> : : *</a> -<a name="96"><span class="lineNum"> 96 </span> : : * If you care about the soft error cases, retrive the array header manually</a> -<a name="97"><span class="lineNum"> 97 </span> : : * with HDIF_get_idata().</a> -<a name="98"><span class="lineNum"> 98 </span> : : */</a> -<a name="99"><span class="lineNum"> 99 </span> :<span class="lineCov"> 2 : const struct HDIF_array_hdr *HDIF_get_iarray(const struct HDIF_common_hdr *hdif,</span></a> -<a name="100"><span class="lineNum"> 100 </span> : : unsigned int di, unsigned int *items)</a> -<a name="101"><span class="lineNum"> 101 </span> : : {</a> -<a name="102"><span class="lineNum"> 102 </span> : : const struct HDIF_array_hdr *arr;</a> -<a name="103"><span class="lineNum"> 103 </span> : : unsigned int req_size, size, elements;</a> -<a name="104"><span class="lineNum"> 104 </span> : : unsigned int actual_sz, alloc_sz, offset;</a> -<a name="105"><span class="lineNum"> 105 </span> : : </a> -<a name="106"><span class="lineNum"> 106 </span> :<span class="lineCov"> 2 : arr = HDIF_get_idata(hdif, di, &size);</span></a> -<a name="107"><span class="lineNum"> 107 </span> : : </a> -<a name="108"><span class="lineNum"> 108 </span> :<span class="lineCov"> 2 : if(items)</span></a> -<a name="109"><span class="lineNum"> 109 </span> :<span class="lineCov"> 2 : *items = 0;</span></a> -<a name="110"><span class="lineNum"> 110 </span> : : </a> -<a name="111"><span class="lineNum"> 111 </span> :<span class="lineCov"> 2 : if (!arr || !size)</span></a> -<a name="112"><span class="lineNum"> 112 </span> :<span class="lineCov"> 2 : return NULL;</span></a> -<a name="113"><span class="lineNum"> 113 </span> : : </a> -<a name="114"><span class="lineNum"> 114 </span> : : /* base size of an Idata array header */</a> -<a name="115"><span class="lineNum"> 115 </span> :<span class="lineNoCov"> 0 : offset = be32_to_cpu(arr->offset);</span></a> -<a name="116"><span class="lineNum"> 116 </span> :<span class="lineNoCov"> 0 : actual_sz = be32_to_cpu(arr->eactsz);</span></a> -<a name="117"><span class="lineNum"> 117 </span> :<span class="lineNoCov"> 0 : alloc_sz = be32_to_cpu(arr->esize);</span></a> -<a name="118"><span class="lineNum"> 118 </span> :<span class="lineNoCov"> 0 : elements = be32_to_cpu(arr->ecnt);</span></a> -<a name="119"><span class="lineNum"> 119 </span> : : </a> -<a name="120"><span class="lineNum"> 120 </span> : : /* actual size should always be smaller than allocated */</a> -<a name="121"><span class="lineNum"> 121 </span> :<span class="lineNoCov"> 0 : if (alloc_sz < actual_sz) {</span></a> -<a name="122"><span class="lineNum"> 122 </span> :<span class="lineNoCov"> 0 : prerror("HDIF %.6s iarray %u has actsz (%u) < alloc_sz (%u)\n)",</span></a> -<a name="123"><span class="lineNum"> 123 </span> : : hdif->id, di, actual_sz, alloc_sz);</a> -<a name="124"><span class="lineNum"> 124 </span> :<span class="lineNoCov"> 0 : backtrace();</span></a> -<a name="125"><span class="lineNum"> 125 </span> :<span class="lineNoCov"> 0 : return NULL;</span></a> -<a name="126"><span class="lineNum"> 126 </span> : : }</a> -<a name="127"><span class="lineNum"> 127 </span> : : </a> -<a name="128"><span class="lineNum"> 128 </span> :<span class="lineNoCov"> 0 : req_size = elements * alloc_sz + offset;</span></a> -<a name="129"><span class="lineNum"> 129 </span> :<span class="lineNoCov"> 0 : if (req_size > size) {</span></a> -<a name="130"><span class="lineNum"> 130 </span> :<span class="lineNoCov"> 0 : prerror("HDIF: %.6s iarray %u requires %#x bytes, but only %#x are allocated!\n",</span></a> -<a name="131"><span class="lineNum"> 131 </span> : : hdif->id, di, req_size, size);</a> -<a name="132"><span class="lineNum"> 132 </span> :<span class="lineNoCov"> 0 : backtrace();</span></a> -<a name="133"><span class="lineNum"> 133 </span> :<span class="lineNoCov"> 0 : return NULL;</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> :<span class="lineNoCov"> 0 : if (!elements || !actual_sz)</span></a> -<a name="137"><span class="lineNum"> 137 </span> :<span class="lineNoCov"> 0 : return NULL;</span></a> -<a name="138"><span class="lineNum"> 138 </span> : : </a> -<a name="139"><span class="lineNum"> 139 </span> :<span class="lineNoCov"> 0 : if (items)</span></a> -<a name="140"><span class="lineNum"> 140 </span> :<span class="lineNoCov"> 0 : *items = elements;</span></a> -<a name="141"><span class="lineNum"> 141 </span> : : </a> -<a name="142"><span class="lineNum"> 142 </span> :<span class="lineNoCov"> 0 : return arr;</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="lineNoCov"> 0 : const void *HDIF_iarray_item(const struct HDIF_array_hdr *ahdr,</span></a> -<a name="146"><span class="lineNum"> 146 </span> : : unsigned int index)</a> -<a name="147"><span class="lineNum"> 147 </span> : : {</a> -<a name="148"><span class="lineNum"> 148 </span> :<span class="lineNoCov"> 0 : if (!ahdr || index >= be32_to_cpu(ahdr->ecnt))</span></a> -<a name="149"><span class="lineNum"> 149 </span> :<span class="lineNoCov"> 0 : return NULL;</span></a> -<a name="150"><span class="lineNum"> 150 </span> : : </a> -<a name="151"><span class="lineNum"> 151 </span> :<span class="lineNoCov"> 0 : return (const void * )ahdr + be32_to_cpu(ahdr->offset) +</span></a> -<a name="152"><span class="lineNum"> 152 </span> :<span class="lineNoCov"> 0 : index * be32_to_cpu(ahdr->esize);</span></a> +<a name="86"><span class="lineNum"> 86 </span> :<span class="lineCov"> 253 : if (asize < sizeof(struct HDIF_array_hdr)) {</span></a> +<a name="87"><span class="lineNum"> 87 </span> :<span class="lineNoCov"> 0 : prerror("HDIF: idata block too small for array !\n");</span></a> +<a name="88"><span class="lineNum"> 88 </span> :<span class="lineNoCov"> 0 : backtrace();</span></a> +<a name="89"><span class="lineNum"> 89 </span> :<span class="lineNoCov"> 0 : return -1;</span></a> +<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"> 253 : ahdr = arr;</span></a> +<a name="93"><span class="lineNum"> 93 </span> :<span class="lineCov"> 253 : return be32_to_cpu(ahdr->ecnt);</span></a> +<a name="94"><span class="lineNum"> 94 </span> : : }</a> +<a name="95"><span class="lineNum"> 95 </span> : : </a> +<a name="96"><span class="lineNum"> 96 </span> : : /*</a> +<a name="97"><span class="lineNum"> 97 </span> : : * Returns NULL and sets *items to zero when:</a> +<a name="98"><span class="lineNum"> 98 </span> : : *</a> +<a name="99"><span class="lineNum"> 99 </span> : : * a) Array extends beyond bounds (hard error)</a> +<a name="100"><span class="lineNum"> 100 </span> : : * b) The array is empty (soft error)</a> +<a name="101"><span class="lineNum"> 101 </span> : : * c) The item size is zero (soft error)</a> +<a name="102"><span class="lineNum"> 102 </span> : : * d) The array is missing (soft error)</a> +<a name="103"><span class="lineNum"> 103 </span> : : *</a> +<a name="104"><span class="lineNum"> 104 </span> : : * b, c) are bugs in the input data so they generate backtraces.</a> +<a name="105"><span class="lineNum"> 105 </span> : : *</a> +<a name="106"><span class="lineNum"> 106 </span> : : * If you care about the soft error cases, retrive the array header manually</a> +<a name="107"><span class="lineNum"> 107 </span> : : * with HDIF_get_idata().</a> +<a name="108"><span class="lineNum"> 108 </span> : : */</a> +<a name="109"><span class="lineNum"> 109 </span> :<span class="lineCov"> 1 : const struct HDIF_array_hdr *HDIF_get_iarray(const struct HDIF_common_hdr *hdif,</span></a> +<a name="110"><span class="lineNum"> 110 </span> : : unsigned int di, unsigned int *items)</a> +<a name="111"><span class="lineNum"> 111 </span> : : {</a> +<a name="112"><span class="lineNum"> 112 </span> : : const struct HDIF_array_hdr *arr;</a> +<a name="113"><span class="lineNum"> 113 </span> : : unsigned int req_size, size, elements;</a> +<a name="114"><span class="lineNum"> 114 </span> : : unsigned int actual_sz, alloc_sz, offset;</a> +<a name="115"><span class="lineNum"> 115 </span> : : </a> +<a name="116"><span class="lineNum"> 116 </span> :<span class="lineCov"> 1 : arr = HDIF_get_idata(hdif, di, &size);</span></a> +<a name="117"><span class="lineNum"> 117 </span> : : </a> +<a name="118"><span class="lineNum"> 118 </span> :<span class="lineCov"> 1 : if(items)</span></a> +<a name="119"><span class="lineNum"> 119 </span> :<span class="lineCov"> 1 : *items = 0;</span></a> +<a name="120"><span class="lineNum"> 120 </span> : : </a> +<a name="121"><span class="lineNum"> 121 </span> :<span class="lineCov"> 1 : if (!arr || !size)</span></a> +<a name="122"><span class="lineNum"> 122 </span> :<span class="lineCov"> 1 : return NULL;</span></a> +<a name="123"><span class="lineNum"> 123 </span> : : </a> +<a name="124"><span class="lineNum"> 124 </span> : : /* base size of an Idata array header */</a> +<a name="125"><span class="lineNum"> 125 </span> :<span class="lineNoCov"> 0 : offset = be32_to_cpu(arr->offset);</span></a> +<a name="126"><span class="lineNum"> 126 </span> :<span class="lineNoCov"> 0 : actual_sz = be32_to_cpu(arr->eactsz);</span></a> +<a name="127"><span class="lineNum"> 127 </span> :<span class="lineNoCov"> 0 : alloc_sz = be32_to_cpu(arr->esize);</span></a> +<a name="128"><span class="lineNum"> 128 </span> :<span class="lineNoCov"> 0 : elements = be32_to_cpu(arr->ecnt);</span></a> +<a name="129"><span class="lineNum"> 129 </span> : : </a> +<a name="130"><span class="lineNum"> 130 </span> : : /* actual size should always be smaller than allocated */</a> +<a name="131"><span class="lineNum"> 131 </span> :<span class="lineNoCov"> 0 : if (alloc_sz < actual_sz) {</span></a> +<a name="132"><span class="lineNum"> 132 </span> :<span class="lineNoCov"> 0 : prerror("HDIF %.6s iarray %u has actsz (%u) < alloc_sz (%u)\n)",</span></a> +<a name="133"><span class="lineNum"> 133 </span> : : hdif->id, di, actual_sz, alloc_sz);</a> +<a name="134"><span class="lineNum"> 134 </span> :<span class="lineNoCov"> 0 : backtrace();</span></a> +<a name="135"><span class="lineNum"> 135 </span> :<span class="lineNoCov"> 0 : return NULL;</span></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> :<span class="lineNoCov"> 0 : req_size = elements * alloc_sz + offset;</span></a> +<a name="139"><span class="lineNum"> 139 </span> :<span class="lineNoCov"> 0 : if (req_size > size) {</span></a> +<a name="140"><span class="lineNum"> 140 </span> :<span class="lineNoCov"> 0 : prerror("HDIF: %.6s iarray %u requires %#x bytes, but only %#x are allocated!\n",</span></a> +<a name="141"><span class="lineNum"> 141 </span> : : hdif->id, di, req_size, size);</a> +<a name="142"><span class="lineNum"> 142 </span> :<span class="lineNoCov"> 0 : backtrace();</span></a> +<a name="143"><span class="lineNum"> 143 </span> :<span class="lineNoCov"> 0 : return NULL;</span></a> +<a name="144"><span class="lineNum"> 144 </span> : : }</a> +<a name="145"><span class="lineNum"> 145 </span> : : </a> +<a name="146"><span class="lineNum"> 146 </span> :<span class="lineNoCov"> 0 : if (!elements || !actual_sz)</span></a> +<a name="147"><span class="lineNum"> 147 </span> :<span class="lineNoCov"> 0 : return NULL;</span></a> +<a name="148"><span class="lineNum"> 148 </span> : : </a> +<a name="149"><span class="lineNum"> 149 </span> :<span class="lineNoCov"> 0 : if (items)</span></a> +<a name="150"><span class="lineNum"> 150 </span> :<span class="lineNoCov"> 0 : *items = elements;</span></a> +<a name="151"><span class="lineNum"> 151 </span> : : </a> +<a name="152"><span class="lineNum"> 152 </span> :<span class="lineNoCov"> 0 : return arr;</span></a> <a name="153"><span class="lineNum"> 153 </span> : : }</a> <a name="154"><span class="lineNum"> 154 </span> : : </a> -<a name="155"><span class="lineNum"> 155 </span> : : struct HDIF_child_ptr *</a> -<a name="156"><span class="lineNum"> 156 </span> :<span class="lineCov"> 14 : HDIF_child_arr(const struct HDIF_common_hdr *hdif, unsigned int idx)</span></a> +<a name="155"><span class="lineNum"> 155 </span> :<span class="lineNoCov"> 0 : const void *HDIF_iarray_item(const struct HDIF_array_hdr *ahdr,</span></a> +<a name="156"><span class="lineNum"> 156 </span> : : unsigned int index)</a> <a name="157"><span class="lineNum"> 157 </span> : : {</a> -<a name="158"><span class="lineNum"> 158 </span> : : struct HDIF_child_ptr *children;</a> -<a name="159"><span class="lineNum"> 159 </span> : : </a> -<a name="160"><span class="lineNum"> 160 </span> :<span class="lineCov"> 14 : children = (void *)hdif + be32_to_cpu(hdif->child_off);</span></a> -<a name="161"><span class="lineNum"> 161 </span> : : </a> -<a name="162"><span class="lineNum"> 162 </span> :<span class="lineCov"> 14 : if (idx >= be16_to_cpu(hdif->child_count)) {</span></a> -<a name="163"><span class="lineNum"> 163 </span> :<span class="lineNoCov"> 0 : prerror("HDIF: child array idx out of range!\n");</span></a> -<a name="164"><span class="lineNum"> 164 </span> :<span class="lineNoCov"> 0 : backtrace();</span></a> -<a name="165"><span class="lineNum"> 165 </span> :<span class="lineNoCov"> 0 : return NULL;</span></a> -<a name="166"><span class="lineNum"> 166 </span> : : }</a> -<a name="167"><span class="lineNum"> 167 </span> : : </a> -<a name="168"><span class="lineNum"> 168 </span> :<span class="lineCov"> 14 : return &children[idx];</span></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> :<span class="lineCov"> 18 : struct HDIF_common_hdr *HDIF_child(const struct HDIF_common_hdr *hdif,</span></a> -<a name="172"><span class="lineNum"> 172 </span> : : const struct HDIF_child_ptr *child,</a> -<a name="173"><span class="lineNum"> 173 </span> : : unsigned int idx,</a> -<a name="174"><span class="lineNum"> 174 </span> : : const char *eyecatcher)</a> -<a name="175"><span class="lineNum"> 175 </span> : : {</a> -<a name="176"><span class="lineNum"> 176 </span> :<span class="lineCov"> 18 : void *base = (void *)hdif;</span></a> -<a name="177"><span class="lineNum"> 177 </span> : : struct HDIF_common_hdr *ret;</a> -<a name="178"><span class="lineNum"> 178 </span> : : long child_off;</a> -<a name="179"><span class="lineNum"> 179 </span> : : </a> -<a name="180"><span class="lineNum"> 180 </span> : : /* child must be in hdif's child array */</a> -<a name="181"><span class="lineNum"> 181 </span> :<span class="lineCov"> 18 : child_off = (void *)child - (base + be32_to_cpu(hdif->child_off));</span></a> -<a name="182"><span class="lineNum"> 182 </span> :<span class="lineCov"> 18 : assert(child_off % sizeof(struct HDIF_child_ptr) == 0);</span></a> -<a name="183"><span class="lineNum"> 183 </span> :<span class="lineCov"> 18 : assert(child_off / sizeof(struct HDIF_child_ptr)</span></a> -<a name="184"><span class="lineNum"> 184 </span> : : < be16_to_cpu(hdif->child_count));</a> -<a name="185"><span class="lineNum"> 185 </span> : : </a> -<a name="186"><span class="lineNum"> 186 </span> :<span class="lineCov"> 18 : assert(idx < be32_to_cpu(child->count));</span></a> -<a name="187"><span class="lineNum"> 187 </span> : : </a> -<a name="188"><span class="lineNum"> 188 </span> :<span class="lineCov"> 18 : if (be32_to_cpu(child->size) < sizeof(struct HDIF_common_hdr)) {</span></a> -<a name="189"><span class="lineNum"> 189 </span> :<span class="lineNoCov"> 0 : prerror("HDIF: %s child #%i too small: %u\n",</span></a> -<a name="190"><span class="lineNum"> 190 </span> : : eyecatcher, idx, be32_to_cpu(child->size));</a> -<a name="191"><span class="lineNum"> 191 </span> :<span class="lineNoCov"> 0 : backtrace();</span></a> -<a name="192"><span class="lineNum"> 192 </span> :<span class="lineNoCov"> 0 : return NULL;</span></a> -<a name="193"><span class="lineNum"> 193 </span> : : }</a> -<a name="194"><span class="lineNum"> 194 </span> : : </a> -<a name="195"><span class="lineNum"> 195 </span> :<span class="lineCov"> 18 : ret = base + be32_to_cpu(child->offset)</span></a> -<a name="196"><span class="lineNum"> 196 </span> :<span class="lineCov"> 18 : + be32_to_cpu(child->size) * idx;</span></a> -<a name="197"><span class="lineNum"> 197 </span> :<span class="lineCov"> 18 : if (!HDIF_check(ret, eyecatcher)) {</span></a> -<a name="198"><span class="lineNum"> 198 </span> :<span class="lineNoCov"> 0 : prerror("HDIF: #%i bad type (wanted %6s, got %6s)\n",</span></a> -<a name="199"><span class="lineNum"> 199 </span> : : idx, eyecatcher, ret->id);</a> -<a name="200"><span class="lineNum"> 200 </span> :<span class="lineNoCov"> 0 : backtrace();</span></a> -<a name="201"><span class="lineNum"> 201 </span> :<span class="lineNoCov"> 0 : return NULL;</span></a> -<a name="202"><span class="lineNum"> 202 </span> : : }</a> -<a name="203"><span class="lineNum"> 203 </span> : : </a> -<a name="204"><span class="lineNum"> 204 </span> :<span class="lineCov"> 18 : return ret;</span></a> -<a name="205"><span class="lineNum"> 205 </span> : : }</a> +<a name="158"><span class="lineNum"> 158 </span> :<span class="lineNoCov"> 0 : if (!ahdr || index >= be32_to_cpu(ahdr->ecnt))</span></a> +<a name="159"><span class="lineNum"> 159 </span> :<span class="lineNoCov"> 0 : return NULL;</span></a> +<a name="160"><span class="lineNum"> 160 </span> : : </a> +<a name="161"><span class="lineNum"> 161 </span> :<span class="lineNoCov"> 0 : return (const void * )ahdr + be32_to_cpu(ahdr->offset) +</span></a> +<a name="162"><span class="lineNum"> 162 </span> :<span class="lineNoCov"> 0 : index * be32_to_cpu(ahdr->esize);</span></a> +<a name="163"><span class="lineNum"> 163 </span> : : }</a> +<a name="164"><span class="lineNum"> 164 </span> : : </a> +<a name="165"><span class="lineNum"> 165 </span> : : struct HDIF_child_ptr *</a> +<a name="166"><span class="lineNum"> 166 </span> :<span class="lineCov"> 5 : HDIF_child_arr(const struct HDIF_common_hdr *hdif, unsigned int idx)</span></a> +<a name="167"><span class="lineNum"> 167 </span> : : {</a> +<a name="168"><span class="lineNum"> 168 </span> : : struct HDIF_child_ptr *children;</a> +<a name="169"><span class="lineNum"> 169 </span> : : </a> +<a name="170"><span class="lineNum"> 170 </span> :<span class="lineCov"> 5 : if (!HDIF_check(hdif, NULL)) {</span></a> +<a name="171"><span class="lineNum"> 171 </span> :<span class="lineNoCov"> 0 : prerror("HDIF: Bad header format !\n");</span></a> +<a name="172"><span class="lineNum"> 172 </span> :<span class="lineNoCov"> 0 : backtrace();</span></a> +<a name="173"><span class="lineNum"> 173 </span> :<span class="lineNoCov"> 0 : return NULL;</span></a> +<a name="174"><span class="lineNum"> 174 </span> : : }</a> +<a name="175"><span class="lineNum"> 175 </span> : : </a> +<a name="176"><span class="lineNum"> 176 </span> :<span class="lineCov"> 5 : children = (void *)hdif + be32_to_cpu(hdif->child_off);</span></a> +<a name="177"><span class="lineNum"> 177 </span> : : </a> +<a name="178"><span class="lineNum"> 178 </span> :<span class="lineCov"> 5 : if (idx >= be16_to_cpu(hdif->child_count)) {</span></a> +<a name="179"><span class="lineNum"> 179 </span> :<span class="lineNoCov"> 0 : prerror("HDIF: child array idx out of range!\n");</span></a> +<a name="180"><span class="lineNum"> 180 </span> :<span class="lineNoCov"> 0 : backtrace();</span></a> +<a name="181"><span class="lineNum"> 181 </span> :<span class="lineNoCov"> 0 : return NULL;</span></a> +<a name="182"><span class="lineNum"> 182 </span> : : }</a> +<a name="183"><span class="lineNum"> 183 </span> : : </a> +<a name="184"><span class="lineNum"> 184 </span> :<span class="lineCov"> 5 : return &children[idx];</span></a> +<a name="185"><span class="lineNum"> 185 </span> : : }</a> +<a name="186"><span class="lineNum"> 186 </span> : : </a> +<a name="187"><span class="lineNum"> 187 </span> :<span class="lineCov"> 6 : struct HDIF_common_hdr *HDIF_child(const struct HDIF_common_hdr *hdif,</span></a> +<a name="188"><span class="lineNum"> 188 </span> : : const struct HDIF_child_ptr *child,</a> +<a name="189"><span class="lineNum"> 189 </span> : : unsigned int idx,</a> +<a name="190"><span class="lineNum"> 190 </span> : : const char *eyecatcher)</a> +<a name="191"><span class="lineNum"> 191 </span> : : {</a> +<a name="192"><span class="lineNum"> 192 </span> :<span class="lineCov"> 6 : void *base = (void *)hdif;</span></a> +<a name="193"><span class="lineNum"> 193 </span> : : struct HDIF_common_hdr *ret;</a> +<a name="194"><span class="lineNum"> 194 </span> : : long child_off;</a> +<a name="195"><span class="lineNum"> 195 </span> : : </a> +<a name="196"><span class="lineNum"> 196 </span> :<span class="lineCov"> 6 : if (!HDIF_check(hdif, NULL)) {</span></a> +<a name="197"><span class="lineNum"> 197 </span> :<span class="lineNoCov"> 0 : prerror("HDIF: Bad header format !\n");</span></a> +<a name="198"><span class="lineNum"> 198 </span> :<span class="lineNoCov"> 0 : backtrace();</span></a> +<a name="199"><span class="lineNum"> 199 </span> :<span class="lineNoCov"> 0 : return NULL;</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> : : /* child must be in hdif's child array */</a> +<a name="203"><span class="lineNum"> 203 </span> :<span class="lineCov"> 6 : child_off = (void *)child - (base + be32_to_cpu(hdif->child_off));</span></a> +<a name="204"><span class="lineNum"> 204 </span> :<span class="lineCov"> 6 : assert(child_off % sizeof(struct HDIF_child_ptr) == 0);</span></a> +<a name="205"><span class="lineNum"> 205 </span> :<span class="lineCov"> 6 : assert(child_off / sizeof(struct HDIF_child_ptr)</span></a> +<a name="206"><span class="lineNum"> 206 </span> : : < be16_to_cpu(hdif->child_count));</a> +<a name="207"><span class="lineNum"> 207 </span> : : </a> +<a name="208"><span class="lineNum"> 208 </span> :<span class="lineCov"> 6 : assert(idx < be32_to_cpu(child->count));</span></a> +<a name="209"><span class="lineNum"> 209 </span> : : </a> +<a name="210"><span class="lineNum"> 210 </span> :<span class="lineCov"> 6 : if (be32_to_cpu(child->size) < sizeof(struct HDIF_common_hdr)) {</span></a> +<a name="211"><span class="lineNum"> 211 </span> :<span class="lineNoCov"> 0 : prerror("HDIF: %s child #%i too small: %u\n",</span></a> +<a name="212"><span class="lineNum"> 212 </span> : : eyecatcher, idx, be32_to_cpu(child->size));</a> +<a name="213"><span class="lineNum"> 213 </span> :<span class="lineNoCov"> 0 : backtrace();</span></a> +<a name="214"><span class="lineNum"> 214 </span> :<span class="lineNoCov"> 0 : return NULL;</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"> 6 : ret = base + be32_to_cpu(child->offset)</span></a> +<a name="218"><span class="lineNum"> 218 </span> :<span class="lineCov"> 6 : + be32_to_cpu(child->size) * idx;</span></a> +<a name="219"><span class="lineNum"> 219 </span> :<span class="lineCov"> 6 : if (!HDIF_check(ret, eyecatcher)) {</span></a> +<a name="220"><span class="lineNum"> 220 </span> :<span class="lineNoCov"> 0 : prerror("HDIF: #%i bad type (wanted %6s, got %6s)\n",</span></a> +<a name="221"><span class="lineNum"> 221 </span> : : idx, eyecatcher, ret->id);</a> +<a name="222"><span class="lineNum"> 222 </span> :<span class="lineNoCov"> 0 : backtrace();</span></a> +<a name="223"><span class="lineNum"> 223 </span> :<span class="lineNoCov"> 0 : return NULL;</span></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> :<span class="lineCov"> 6 : return ret;</span></a> +<a name="227"><span class="lineNum"> 227 </span> : : }</a> </pre> </td> </tr> diff --git a/coverage-report/hdata/hdif.h.func-sort-c.html b/coverage-report/hdata/hdif.h.func-sort-c.html index 40d3146..4c1711d 100644 --- a/coverage-report/hdata/hdif.h.func-sort-c.html +++ b/coverage-report/hdata/hdif.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">4</td> - <td class="headerCovTableEntry">4</td> - <td class="headerCovTableEntryHi">100.0 %</td> + <td class="headerCovTableEntry">5</td> + <td class="headerCovTableEntry">7</td> + <td class="headerCovTableEntryLo">71.4 %</td> </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">1</td> @@ -70,7 +70,7 @@ </tr> <tr> <td class="coverFn"><a href="hdif.h.gcov.html#64">HDIF_check</a></td> - <td class="coverFnHi">558</td> + <td class="coverFnHi">1300</td> </tr> </table> <br> diff --git a/coverage-report/hdata/hdif.h.func.html b/coverage-report/hdata/hdif.h.func.html index 0b0c2b1..be112ee 100644 --- a/coverage-report/hdata/hdif.h.func.html +++ b/coverage-report/hdata/hdif.h.func.html @@ -31,13 +31,13 @@ <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> + <td class="headerCovTableEntry">5</td> + <td class="headerCovTableEntry">7</td> + <td class="headerCovTableEntryLo">71.4 %</td> </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">1</td> @@ -70,7 +70,7 @@ </tr> <tr> <td class="coverFn"><a href="hdif.h.gcov.html#64">HDIF_check</a></td> - <td class="coverFnHi">558</td> + <td class="coverFnHi">1300</td> </tr> </table> <br> diff --git a/coverage-report/hdata/hdif.h.gcov.html b/coverage-report/hdata/hdif.h.gcov.html index d02daa0..d56b1d9 100644 --- a/coverage-report/hdata/hdif.h.gcov.html +++ b/coverage-report/hdata/hdif.h.gcov.html @@ -31,13 +31,13 @@ <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> + <td class="headerCovTableEntry">5</td> + <td class="headerCovTableEntry">7</td> + <td class="headerCovTableEntryLo">71.4 %</td> </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">1</td> @@ -134,87 +134,91 @@ <a name="63"><span class="lineNum"> 63 </span> : : .size = CPU_TO_BE32(_size), \</a> <a name="64"><span class="lineNum"> 64 </span> : : }</a> <a name="65"><span class="lineNum"> 65 </span> : : </a> -<a name="66"><span class="lineNum"> 66 </span> :<span class="lineCov"> 558 : static inline bool HDIF_check(const void *hdif, const char id[])</span></a> +<a name="66"><span class="lineNum"> 66 </span> :<span class="lineCov"> 1300 : static inline bool HDIF_check(const void *hdif, const char *id)</span></a> <a name="67"><span class="lineNum"> 67 </span> : : {</a> -<a name="68"><span class="lineNum"> 68 </span> :<span class="lineCov"> 558 : const struct HDIF_common_hdr *hdr = hdif;</span></a> +<a name="68"><span class="lineNum"> 68 </span> :<span class="lineCov"> 1300 : const struct HDIF_common_hdr *hdr = hdif;</span></a> <a name="69"><span class="lineNum"> 69 </span> : : </a> -<a name="70"><span class="lineNum"> 70 </span> :<span class="lineCov"> 1116 : return hdr->d1f0 == CPU_TO_BE16(0xd1f0) &&</span></a> -<a name="71"><span class="lineNum"> 71 </span> :<span class="lineCov"> 558 : memcmp(hdr->id, id, sizeof(hdr->id)) == 0;</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> : : /* HDIF_get_idata - Get a pointer to internal data block</a> -<a name="75"><span class="lineNum"> 75 </span> : : *</a> -<a name="76"><span class="lineNum"> 76 </span> : : * @hdif : HDIF structure pointer</a> -<a name="77"><span class="lineNum"> 77 </span> : : * @di : Index of the idata pointer</a> -<a name="78"><span class="lineNum"> 78 </span> : : * @size : Return the data size (or NULL if ignored)</a> -<a name="79"><span class="lineNum"> 79 </span> : : */</a> -<a name="80"><span class="lineNum"> 80 </span> : : extern const void *HDIF_get_idata(const struct HDIF_common_hdr *hdif,</a> -<a name="81"><span class="lineNum"> 81 </span> : : unsigned int di,</a> -<a name="82"><span class="lineNum"> 82 </span> : : unsigned int *size);</a> -<a name="83"><span class="lineNum"> 83 </span> : : </a> -<a name="84"><span class="lineNum"> 84 </span> : : /* HDIF_get_iarray - Get a pointer to an elemnt of an internal data array</a> -<a name="85"><span class="lineNum"> 85 </span> : : *</a> -<a name="86"><span class="lineNum"> 86 </span> : : * @hdif : HDIF structure pointer</a> -<a name="87"><span class="lineNum"> 87 </span> : : * @di : Index of the idata pointer</a> -<a name="88"><span class="lineNum"> 88 </span> : : * @ai : Index in the resulting array</a> -<a name="89"><span class="lineNum"> 89 </span> : : * @size : Return the entry actual size (or NULL if ignored)</a> -<a name="90"><span class="lineNum"> 90 </span> : : */</a> -<a name="91"><span class="lineNum"> 91 </span> : : extern const void *HDIF_get_iarray_item(const struct HDIF_common_hdr *hdif,</a> -<a name="92"><span class="lineNum"> 92 </span> : : unsigned int di,</a> -<a name="93"><span class="lineNum"> 93 </span> : : unsigned int ai, unsigned int *size);</a> -<a name="94"><span class="lineNum"> 94 </span> : : </a> -<a name="95"><span class="lineNum"> 95 </span> : : /* HDIF_get_iarray - Get a pointer to an internal array header</a> -<a name="96"><span class="lineNum"> 96 </span> : : *</a> -<a name="97"><span class="lineNum"> 97 </span> : : * @hdif : HDIF structure pointer</a> -<a name="98"><span class="lineNum"> 98 </span> : : * @di : Index of the idata pointer</a> -<a name="99"><span class="lineNum"> 99 </span> : : * @ai : Index in the resulting array</a> -<a name="100"><span class="lineNum"> 100 </span> : : * @size : Return the entry actual size (or NULL if ignored)</a> -<a name="101"><span class="lineNum"> 101 </span> : : */</a> -<a name="102"><span class="lineNum"> 102 </span> : : extern const struct HDIF_array_hdr *HDIF_get_iarray(</a> -<a name="103"><span class="lineNum"> 103 </span> : : const struct HDIF_common_hdr *hdif, unsigned int di,</a> -<a name="104"><span class="lineNum"> 104 </span> : : unsigned int *items);</a> -<a name="105"><span class="lineNum"> 105 </span> : : </a> -<a name="106"><span class="lineNum"> 106 </span> : : extern const void *HDIF_iarray_item(const struct HDIF_array_hdr *hdif,</a> -<a name="107"><span class="lineNum"> 107 </span> : : unsigned int index);</a> -<a name="108"><span class="lineNum"> 108 </span> : : </a> -<a name="109"><span class="lineNum"> 109 </span> : : #define HDIF_iarray_for_each(arr, idx, ptr) \</a> -<a name="110"><span class="lineNum"> 110 </span> : : for (idx = 0, ptr = HDIF_iarray_item(arr, idx); \</a> -<a name="111"><span class="lineNum"> 111 </span> : : ptr; idx++, ptr = HDIF_iarray_item(arr, idx))</a> +<a name="70"><span class="lineNum"> 70 </span> :<span class="lineCov"> 1300 : if (hdr->d1f0 != CPU_TO_BE16(0xd1f0))</span></a> +<a name="71"><span class="lineNum"> 71 </span> :<span class="lineNoCov"> 0 : return false;</span></a> +<a name="72"><span class="lineNum"> 72 </span> :<span class="lineCov"> 1300 : if (id && memcmp(hdr->id, id, sizeof(hdr->id)) != 0)</span></a> +<a name="73"><span class="lineNum"> 73 </span> :<span class="lineNoCov"> 0 : return false;</span></a> +<a name="74"><span class="lineNum"> 74 </span> : : </a> +<a name="75"><span class="lineNum"> 75 </span> :<span class="lineCov"> 1300 : return true;</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> : : /* HDIF_get_idata - Get a pointer to internal data block</a> +<a name="79"><span class="lineNum"> 79 </span> : : *</a> +<a name="80"><span class="lineNum"> 80 </span> : : * @hdif : HDIF structure pointer</a> +<a name="81"><span class="lineNum"> 81 </span> : : * @di : Index of the idata pointer</a> +<a name="82"><span class="lineNum"> 82 </span> : : * @size : Return the data size (or NULL if ignored)</a> +<a name="83"><span class="lineNum"> 83 </span> : : */</a> +<a name="84"><span class="lineNum"> 84 </span> : : extern const void *HDIF_get_idata(const struct HDIF_common_hdr *hdif,</a> +<a name="85"><span class="lineNum"> 85 </span> : : unsigned int di,</a> +<a name="86"><span class="lineNum"> 86 </span> : : unsigned int *size);</a> +<a name="87"><span class="lineNum"> 87 </span> : : </a> +<a name="88"><span class="lineNum"> 88 </span> : : /* HDIF_get_iarray - Get a pointer to an elemnt of an internal data array</a> +<a name="89"><span class="lineNum"> 89 </span> : : *</a> +<a name="90"><span class="lineNum"> 90 </span> : : * @hdif : HDIF structure pointer</a> +<a name="91"><span class="lineNum"> 91 </span> : : * @di : Index of the idata pointer</a> +<a name="92"><span class="lineNum"> 92 </span> : : * @ai : Index in the resulting array</a> +<a name="93"><span class="lineNum"> 93 </span> : : * @size : Return the entry actual size (or NULL if ignored)</a> +<a name="94"><span class="lineNum"> 94 </span> : : */</a> +<a name="95"><span class="lineNum"> 95 </span> : : extern const void *HDIF_get_iarray_item(const struct HDIF_common_hdr *hdif,</a> +<a name="96"><span class="lineNum"> 96 </span> : : unsigned int di,</a> +<a name="97"><span class="lineNum"> 97 </span> : : unsigned int ai, unsigned int *size);</a> +<a name="98"><span class="lineNum"> 98 </span> : : </a> +<a name="99"><span class="lineNum"> 99 </span> : : /* HDIF_get_iarray - Get a pointer to an internal array header</a> +<a name="100"><span class="lineNum"> 100 </span> : : *</a> +<a name="101"><span class="lineNum"> 101 </span> : : * @hdif : HDIF structure pointer</a> +<a name="102"><span class="lineNum"> 102 </span> : : * @di : Index of the idata pointer</a> +<a name="103"><span class="lineNum"> 103 </span> : : * @ai : Index in the resulting array</a> +<a name="104"><span class="lineNum"> 104 </span> : : * @size : Return the entry actual size (or NULL if ignored)</a> +<a name="105"><span class="lineNum"> 105 </span> : : */</a> +<a name="106"><span class="lineNum"> 106 </span> : : extern const struct HDIF_array_hdr *HDIF_get_iarray(</a> +<a name="107"><span class="lineNum"> 107 </span> : : const struct HDIF_common_hdr *hdif, unsigned int di,</a> +<a name="108"><span class="lineNum"> 108 </span> : : unsigned int *items);</a> +<a name="109"><span class="lineNum"> 109 </span> : : </a> +<a name="110"><span class="lineNum"> 110 </span> : : extern const void *HDIF_iarray_item(const struct HDIF_array_hdr *hdif,</a> +<a name="111"><span class="lineNum"> 111 </span> : : unsigned int index);</a> <a name="112"><span class="lineNum"> 112 </span> : : </a> -<a name="113"><span class="lineNum"> 113 </span> : : /* HDIF_get_iarray_size - Get the number of elements of an internal data array</a> -<a name="114"><span class="lineNum"> 114 </span> : : *</a> -<a name="115"><span class="lineNum"> 115 </span> : : * @hdif : HDIF structure pointer</a> -<a name="116"><span class="lineNum"> 116 </span> : : * @di : Index of the idata pointer</a> -<a name="117"><span class="lineNum"> 117 </span> : : *</a> -<a name="118"><span class="lineNum"> 118 </span> : : * A negative result means an error</a> -<a name="119"><span class="lineNum"> 119 </span> : : */</a> -<a name="120"><span class="lineNum"> 120 </span> : : extern int HDIF_get_iarray_size(const struct HDIF_common_hdr *hdif,</a> -<a name="121"><span class="lineNum"> 121 </span> : : unsigned int di);</a> -<a name="122"><span class="lineNum"> 122 </span> : : </a> -<a name="123"><span class="lineNum"> 123 </span> : : /* HDIF_child_arr - Get a child array from this HDIF.</a> -<a name="124"><span class="lineNum"> 124 </span> : : *</a> -<a name="125"><span class="lineNum"> 125 </span> : : * @hdif : HDIF structure pointer</a> -<a name="126"><span class="lineNum"> 126 </span> : : * @idx : the child to get</a> -<a name="127"><span class="lineNum"> 127 </span> : : *</a> -<a name="128"><span class="lineNum"> 128 </span> : : * NULL means an error (not that many children).</a> -<a name="129"><span class="lineNum"> 129 </span> : : */</a> -<a name="130"><span class="lineNum"> 130 </span> : : extern struct HDIF_child_ptr *</a> -<a name="131"><span class="lineNum"> 131 </span> : : HDIF_child_arr(const struct HDIF_common_hdr *hdif, unsigned int idx);</a> -<a name="132"><span class="lineNum"> 132 </span> : : </a> -<a name="133"><span class="lineNum"> 133 </span> : : /* HDIF_child - Deref a child_ptr entry.</a> -<a name="134"><span class="lineNum"> 134 </span> : : *</a> -<a name="135"><span class="lineNum"> 135 </span> : : * @hdif : HDIF structure pointer</a> -<a name="136"><span class="lineNum"> 136 </span> : : * @child : the child returned from HDIF_child_arr</a> -<a name="137"><span class="lineNum"> 137 </span> : : * @idx : the index of the child to get (< child->count).</a> -<a name="138"><span class="lineNum"> 138 </span> : : * @eyecatcher: the 6-char ID expected for this child.</a> -<a name="139"><span class="lineNum"> 139 </span> : : *</a> -<a name="140"><span class="lineNum"> 140 </span> : : * NULL means an error.</a> -<a name="141"><span class="lineNum"> 141 </span> : : */</a> -<a name="142"><span class="lineNum"> 142 </span> : : extern struct HDIF_common_hdr *HDIF_child(const struct HDIF_common_hdr *hdif,</a> -<a name="143"><span class="lineNum"> 143 </span> : : const struct HDIF_child_ptr *child,</a> -<a name="144"><span class="lineNum"> 144 </span> : : unsigned int idx,</a> -<a name="145"><span class="lineNum"> 145 </span> : : const char *eyecatcher);</a> -<a name="146"><span class="lineNum"> 146 </span> : : #endif /* __HDIF_H */</a> +<a name="113"><span class="lineNum"> 113 </span> : : #define HDIF_iarray_for_each(arr, idx, ptr) \</a> +<a name="114"><span class="lineNum"> 114 </span> : : for (idx = 0, ptr = HDIF_iarray_item(arr, idx); \</a> +<a name="115"><span class="lineNum"> 115 </span> : : ptr; idx++, ptr = HDIF_iarray_item(arr, idx))</a> +<a name="116"><span class="lineNum"> 116 </span> : : </a> +<a name="117"><span class="lineNum"> 117 </span> : : /* HDIF_get_iarray_size - Get the number of elements of an internal data array</a> +<a name="118"><span class="lineNum"> 118 </span> : : *</a> +<a name="119"><span class="lineNum"> 119 </span> : : * @hdif : HDIF structure pointer</a> +<a name="120"><span class="lineNum"> 120 </span> : : * @di : Index of the idata pointer</a> +<a name="121"><span class="lineNum"> 121 </span> : : *</a> +<a name="122"><span class="lineNum"> 122 </span> : : * A negative result means an error</a> +<a name="123"><span class="lineNum"> 123 </span> : : */</a> +<a name="124"><span class="lineNum"> 124 </span> : : extern int HDIF_get_iarray_size(const struct HDIF_common_hdr *hdif,</a> +<a name="125"><span class="lineNum"> 125 </span> : : unsigned int di);</a> +<a name="126"><span class="lineNum"> 126 </span> : : </a> +<a name="127"><span class="lineNum"> 127 </span> : : /* HDIF_child_arr - Get a child array from this HDIF.</a> +<a name="128"><span class="lineNum"> 128 </span> : : *</a> +<a name="129"><span class="lineNum"> 129 </span> : : * @hdif : HDIF structure pointer</a> +<a name="130"><span class="lineNum"> 130 </span> : : * @idx : the child to get</a> +<a name="131"><span class="lineNum"> 131 </span> : : *</a> +<a name="132"><span class="lineNum"> 132 </span> : : * NULL means an error (not that many children).</a> +<a name="133"><span class="lineNum"> 133 </span> : : */</a> +<a name="134"><span class="lineNum"> 134 </span> : : extern struct HDIF_child_ptr *</a> +<a name="135"><span class="lineNum"> 135 </span> : : HDIF_child_arr(const struct HDIF_common_hdr *hdif, unsigned int idx);</a> +<a name="136"><span class="lineNum"> 136 </span> : : </a> +<a name="137"><span class="lineNum"> 137 </span> : : /* HDIF_child - Deref a child_ptr entry.</a> +<a name="138"><span class="lineNum"> 138 </span> : : *</a> +<a name="139"><span class="lineNum"> 139 </span> : : * @hdif : HDIF structure pointer</a> +<a name="140"><span class="lineNum"> 140 </span> : : * @child : the child returned from HDIF_child_arr</a> +<a name="141"><span class="lineNum"> 141 </span> : : * @idx : the index of the child to get (< child->count).</a> +<a name="142"><span class="lineNum"> 142 </span> : : * @eyecatcher: the 6-char ID expected for this child.</a> +<a name="143"><span class="lineNum"> 143 </span> : : *</a> +<a name="144"><span class="lineNum"> 144 </span> : : * NULL means an error.</a> +<a name="145"><span class="lineNum"> 145 </span> : : */</a> +<a name="146"><span class="lineNum"> 146 </span> : : extern struct HDIF_common_hdr *HDIF_child(const struct HDIF_common_hdr *hdif,</a> +<a name="147"><span class="lineNum"> 147 </span> : : const struct HDIF_child_ptr *child,</a> +<a name="148"><span class="lineNum"> 148 </span> : : unsigned int idx,</a> +<a name="149"><span class="lineNum"> 149 </span> : : const char *eyecatcher);</a> +<a name="150"><span class="lineNum"> 150 </span> : : #endif /* __HDIF_H */</a> </pre> </td> </tr> diff --git a/coverage-report/hdata/hostservices.c.func-sort-c.html b/coverage-report/hdata/hostservices.c.func-sort-c.html index 70da1f9..b87b8d7 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">3</td> @@ -70,15 +70,15 @@ </tr> <tr> <td class="coverFn"><a href="hostservices.c.gcov.html#39">hservice_parse_dt_tree</a></td> - <td class="coverFnHi">2</td> + <td class="coverFnHi">1</td> </tr> <tr> <td class="coverFn"><a href="hostservices.c.gcov.html#53">hservices_from_hdat</a></td> - <td class="coverFnHi">2</td> + <td class="coverFnHi">1</td> </tr> <tr> <td class="coverFn"><a href="hostservices.c.gcov.html#15">merge_property</a></td> - <td class="coverFnHi">6</td> + <td class="coverFnHi">3</td> </tr> </table> <br> diff --git a/coverage-report/hdata/hostservices.c.func.html b/coverage-report/hdata/hostservices.c.func.html index a47d5ee..1dc990b 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">3</td> @@ -70,15 +70,15 @@ </tr> <tr> <td class="coverFn"><a href="hostservices.c.gcov.html#39">hservice_parse_dt_tree</a></td> - <td class="coverFnHi">2</td> + <td class="coverFnHi">1</td> </tr> <tr> <td class="coverFn"><a href="hostservices.c.gcov.html#53">hservices_from_hdat</a></td> - <td class="coverFnHi">2</td> + <td class="coverFnHi">1</td> </tr> <tr> <td class="coverFn"><a href="hostservices.c.gcov.html#15">merge_property</a></td> - <td class="coverFnHi">6</td> + <td class="coverFnHi">3</td> </tr> </table> <br> diff --git a/coverage-report/hdata/hostservices.c.gcov.html b/coverage-report/hdata/hostservices.c.gcov.html index 7d4af9f..d5b302b 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">3</td> @@ -85,7 +85,7 @@ <a name="14"><span class="lineNum"> 14 </span> : : #include "spira.h"</a> <a name="15"><span class="lineNum"> 15 </span> : : #include "hdata.h"</a> <a name="16"><span class="lineNum"> 16 </span> : : </a> -<a name="17"><span class="lineNum"> 17 </span> :<span class="lineCov"> 6 : static void merge_property(const struct dt_node *src_root,</span></a> +<a name="17"><span class="lineNum"> 17 </span> :<span class="lineCov"> 3 : static void merge_property(const struct dt_node *src_root,</span></a> <a name="18"><span class="lineNum"> 18 </span> : : struct dt_node *dst_root,</a> <a name="19"><span class="lineNum"> 19 </span> : : const char *name)</a> <a name="20"><span class="lineNum"> 20 </span> : : {</a> @@ -93,15 +93,15 @@ <a name="22"><span class="lineNum"> 22 </span> : : struct dt_property *dst;</a> <a name="23"><span class="lineNum"> 23 </span> : : </a> <a name="24"><span class="lineNum"> 24 </span> : : /* Nothing to merge if old one doesn't exist. */</a> -<a name="25"><span class="lineNum"> 25 </span> :<span class="lineCov"> 6 : src = dt_find_property(src_root, name);</span></a> -<a name="26"><span class="lineNum"> 26 </span> :<span class="lineCov"> 6 : if (!src)</span></a> -<a name="27"><span class="lineNum"> 27 </span> :<span class="lineCov"> 6 : return;</span></a> +<a name="25"><span class="lineNum"> 25 </span> :<span class="lineCov"> 3 : src = dt_find_property(src_root, name);</span></a> +<a name="26"><span class="lineNum"> 26 </span> :<span class="lineCov"> 3 : if (!src)</span></a> +<a name="27"><span class="lineNum"> 27 </span> :<span class="lineCov"> 3 : return;</span></a> <a name="28"><span class="lineNum"> 28 </span> : : </a> <a name="29"><span class="lineNum"> 29 </span> : : /* Just create a new one if there's none in dst. */</a> -<a name="30"><span class="lineNum"> 30 </span> :<span class="lineCov"> 6 : dst = __dt_find_property(dst_root, name);</span></a> -<a name="31"><span class="lineNum"> 31 </span> :<span class="lineCov"> 6 : if (!dst) {</span></a> -<a name="32"><span class="lineNum"> 32 </span> :<span class="lineCov"> 6 : dt_add_property(dst_root, name, src->prop, src->len);</span></a> -<a name="33"><span class="lineNum"> 33 </span> :<span class="lineCov"> 6 : return;</span></a> +<a name="30"><span class="lineNum"> 30 </span> :<span class="lineCov"> 3 : dst = __dt_find_property(dst_root, name);</span></a> +<a name="31"><span class="lineNum"> 31 </span> :<span class="lineCov"> 3 : if (!dst) {</span></a> +<a name="32"><span class="lineNum"> 32 </span> :<span class="lineCov"> 3 : dt_add_property(dst_root, name, src->prop, src->len);</span></a> +<a name="33"><span class="lineNum"> 33 </span> :<span class="lineCov"> 3 : return;</span></a> <a name="34"><span class="lineNum"> 34 </span> : : }</a> <a name="35"><span class="lineNum"> 35 </span> : : </a> <a name="36"><span class="lineNum"> 36 </span> : : /* Append src to dst. */</a> @@ -109,48 +109,48 @@ <a name="38"><span class="lineNum"> 38 </span> :<span class="lineNoCov"> 0 : memcpy(dst->prop + dst->len, src->prop, src->len);</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"> 2 : static void hservice_parse_dt_tree(const struct dt_node *src)</span></a> +<a name="41"><span class="lineNum"> 41 </span> :<span class="lineCov"> 1 : static void hservice_parse_dt_tree(const struct dt_node *src)</span></a> <a name="42"><span class="lineNum"> 42 </span> : : {</a> <a name="43"><span class="lineNum"> 43 </span> : : const struct dt_property *sprop;</a> <a name="44"><span class="lineNum"> 44 </span> : : </a> <a name="45"><span class="lineNum"> 45 </span> : : /* Copy/merge reserved names & ranges properties. */</a> -<a name="46"><span class="lineNum"> 46 </span> :<span class="lineCov"> 12 : list_for_each(&src->properties, sprop, list) {</span></a> -<a name="47"><span class="lineNum"> 47 </span> :<span class="lineCov"> 10 : if (streq(sprop->name, "reserved-names") ||</span></a> -<a name="48"><span class="lineNum"> 48 </span> :<span class="lineCov"> 8 : streq(sprop->name, "reserved-ranges") ||</span></a> -<a name="49"><span class="lineNum"> 49 </span> :<span class="lineCov"> 6 : streq(sprop->name, "ibm,enabled-idle-states"))</span></a> -<a name="50"><span class="lineNum"> 50 </span> :<span class="lineCov"> 6 : merge_property(src, dt_root, sprop->name);</span></a> +<a name="46"><span class="lineNum"> 46 </span> :<span class="lineCov"> 6 : list_for_each(&src->properties, sprop, list) {</span></a> +<a name="47"><span class="lineNum"> 47 </span> :<span class="lineCov"> 5 : if (streq(sprop->name, "reserved-names") ||</span></a> +<a name="48"><span class="lineNum"> 48 </span> :<span class="lineCov"> 4 : streq(sprop->name, "reserved-ranges") ||</span></a> +<a name="49"><span class="lineNum"> 49 </span> :<span class="lineCov"> 3 : streq(sprop->name, "ibm,enabled-idle-states"))</span></a> +<a name="50"><span class="lineNum"> 50 </span> :<span class="lineCov"> 3 : merge_property(src, dt_root, sprop->name);</span></a> <a name="51"><span class="lineNum"> 51 </span> : : }</a> -<a name="52"><span class="lineNum"> 52 </span> :<span class="lineCov"> 2 : }</span></a> +<a name="52"><span class="lineNum"> 52 </span> :<span class="lineCov"> 1 : }</span></a> <a name="53"><span class="lineNum"> 53 </span> : : </a> <a name="54"><span class="lineNum"> 54 </span> : : /* Get host services information from hdat. */</a> -<a name="55"><span class="lineNum"> 55 </span> :<span class="lineCov"> 2 : bool hservices_from_hdat(const void *fdt, size_t size)</span></a> +<a name="55"><span class="lineNum"> 55 </span> :<span class="lineCov"> 1 : bool hservices_from_hdat(const void *fdt, size_t size)</span></a> <a name="56"><span class="lineNum"> 56 </span> : : {</a> <a name="57"><span class="lineNum"> 57 </span> : : int err;</a> <a name="58"><span class="lineNum"> 58 </span> : : struct dt_node *hservices;</a> <a name="59"><span class="lineNum"> 59 </span> : : </a> -<a name="60"><span class="lineNum"> 60 </span> :<span class="lineCov"> 2 : prlog(PR_DEBUG, "HBRT: Found mini-DT at 0x%p size: 0x%08lx\n",</span></a> +<a name="60"><span class="lineNum"> 60 </span> :<span class="lineCov"> 1 : prlog(PR_DEBUG, "HBRT: Found mini-DT at 0x%p size: 0x%08lx\n",</span></a> <a name="61"><span class="lineNum"> 61 </span> : : fdt, size);</a> <a name="62"><span class="lineNum"> 62 </span> : : </a> <a name="63"><span class="lineNum"> 63 </span> : : /* For diagnostic purposes, we copy the whole blob over */</a> -<a name="64"><span class="lineNum"> 64 </span> :<span class="lineCov"> 2 : dt_add_property(dt_root, "ibm,hbrt-mini-fdt", fdt, size);</span></a> +<a name="64"><span class="lineNum"> 64 </span> :<span class="lineCov"> 1 : dt_add_property(dt_root, "ibm,hbrt-mini-fdt", fdt, size);</span></a> <a name="65"><span class="lineNum"> 65 </span> : : </a> <a name="66"><span class="lineNum"> 66 </span> : : /* Parse & extract relevant properties */</a> -<a name="67"><span class="lineNum"> 67 </span> :<span class="lineCov"> 2 : err = fdt_check_header(fdt);</span></a> -<a name="68"><span class="lineNum"> 68 </span> :<span class="lineCov"> 2 : if (err) {</span></a> +<a name="67"><span class="lineNum"> 67 </span> :<span class="lineCov"> 1 : err = fdt_check_header(fdt);</span></a> +<a name="68"><span class="lineNum"> 68 </span> :<span class="lineCov"> 1 : if (err) {</span></a> <a name="69"><span class="lineNum"> 69 </span> :<span class="lineNoCov"> 0 : prerror("HBRT: fdt blob %p hdr error %d\n", fdt, err);</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> : : </a> -<a name="73"><span class="lineNum"> 73 </span> :<span class="lineCov"> 2 : hservices = dt_new_root("ibm,hostservices");</span></a> -<a name="74"><span class="lineNum"> 74 </span> :<span class="lineCov"> 2 : err = dt_expand_node(hservices, fdt, 0);</span></a> -<a name="75"><span class="lineNum"> 75 </span> :<span class="lineCov"> 2 : if (err < 0) {</span></a> +<a name="73"><span class="lineNum"> 73 </span> :<span class="lineCov"> 1 : hservices = dt_new_root("ibm,hostservices");</span></a> +<a name="74"><span class="lineNum"> 74 </span> :<span class="lineCov"> 1 : err = dt_expand_node(hservices, fdt, 0);</span></a> +<a name="75"><span class="lineNum"> 75 </span> :<span class="lineCov"> 1 : if (err < 0) {</span></a> <a name="76"><span class="lineNum"> 76 </span> :<span class="lineNoCov"> 0 : prerror("HBRT: fdt blob %p parse error %d\n", fdt, err);</span></a> <a name="77"><span class="lineNum"> 77 </span> :<span class="lineNoCov"> 0 : return false;</span></a> <a name="78"><span class="lineNum"> 78 </span> : : }</a> <a name="79"><span class="lineNum"> 79 </span> : : </a> -<a name="80"><span class="lineNum"> 80 </span> :<span class="lineCov"> 2 : hservice_parse_dt_tree(hservices);</span></a> -<a name="81"><span class="lineNum"> 81 </span> :<span class="lineCov"> 2 : dt_free(hservices);</span></a> -<a name="82"><span class="lineNum"> 82 </span> :<span class="lineCov"> 2 : return true;</span></a> +<a name="80"><span class="lineNum"> 80 </span> :<span class="lineCov"> 1 : hservice_parse_dt_tree(hservices);</span></a> +<a name="81"><span class="lineNum"> 81 </span> :<span class="lineCov"> 1 : dt_free(hservices);</span></a> +<a name="82"><span class="lineNum"> 82 </span> :<span class="lineCov"> 1 : return true;</span></a> <a name="83"><span class="lineNum"> 83 </span> : : }</a> <a name="84"><span class="lineNum"> 84 </span> : : </a> </pre> diff --git a/coverage-report/hdata/i2c.c.func-sort-c.html b/coverage-report/hdata/i2c.c.func-sort-c.html index 34dda6c..4ecba32 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 e86d87d..caaccad 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 e902d1a..69905a1 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 997daaf..d3cccbd 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">1252</td> - <td class="headerCovTableEntry">2814</td> - <td class="headerCovTableEntryLo">44.5 %</td> + <td class="headerCovTableEntry">1226</td> + <td class="headerCovTableEntry">2794</td> + <td class="headerCovTableEntryLo">43.9 %</td> </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">101</td> @@ -82,62 +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="vpd-common.c.gcov.html">vpd-common.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=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="../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">80.0 %</td> - <td class="coverNumMed">4 / 5</td> + <td class="coverPerMed">81.3 %</td> + <td class="coverNumMed">87 / 107</td> <td class="coverPerHi">100.0 %</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="hdif.h.gcov.html">hdif.h</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="../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=64 height=10 alt="64.3%"><img src="../snow.png" width=36 height=10 alt="64.3%"></td></tr></table> </td> - <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">4 / 4</td> - <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">1 / 1</td> + <td class="coverPerLo">64.3 %</td> + <td class="coverNumLo">45 / 70</td> + <td class="coverPerMed">83.3 %</td> + <td class="coverNumMed">5 / 6</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="coverFile"><a href="hdif.c.gcov.html">hdif.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.3%"><img src="../snow.png" width=19 height=10 alt="81.3%"></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="coverPerMed">81.3 %</td> - <td class="coverNumMed">87 / 107</td> + <td class="coverPerLo">50.0 %</td> + <td class="coverNumLo">52 / 104</td> + <td class="coverPerMed">87.5 %</td> + <td class="coverNumMed">7 / 8</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> + </td> + <td class="coverPerLo">36.4 %</td> + <td class="coverNumLo">4 / 11</td> <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">5 / 5</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="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="../ruby.png" width=48 height=10 alt="48.5%"><img src="../snow.png" width=52 height=10 alt="48.5%"></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">48.5 %</td> - <td class="coverNumLo">385 / 794</td> - <td class="coverPerMed">78.4 %</td> - <td class="coverNumMed">29 / 37</td> + <td class="coverPerLo">71.4 %</td> + <td class="coverNumLo">5 / 7</td> + <td class="coverPerHi">100.0 %</td> + <td class="coverNumHi">1 / 1</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="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="../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=47 height=10 alt="47.0%"><img src="../snow.png" width=53 height=10 alt="47.0%"></td></tr></table> </td> - <td class="coverPerLo">0.0 %</td> - <td class="coverNumLo">0 / 92</td> - <td class="coverPerLo">0.0 %</td> - <td class="coverNumLo">0 / 5</td> + <td class="coverPerLo">47.0 %</td> + <td class="coverNumLo">358 / 761</td> + <td class="coverPerMed">77.8 %</td> + <td class="coverNumMed">28 / 36</td> <td class="coverPerHi">-</td> <td class="coverNumHi">0 / 0</td> </tr> @@ -154,50 +166,50 @@ <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="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=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=35 height=10 alt="34.8%"><img src="../snow.png" width=65 height=10 alt="34.8%"></td></tr></table> </td> - <td class="coverPerLo">64.3 %</td> - <td class="coverNumLo">45 / 70</td> - <td class="coverPerMed">83.3 %</td> - <td class="coverNumMed">5 / 6</td> + <td class="coverPerLo">34.8 %</td> + <td class="coverNumLo">86 / 247</td> + <td class="coverPerLo">54.5 %</td> + <td class="coverNumLo">6 / 11</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="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="../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=80 height=10 alt="80.0%"><img src="../snow.png" width=20 height=10 alt="80.0%"></td></tr></table> </td> - <td class="coverPerMed">81.2 %</td> - <td class="coverNumMed">26 / 32</td> + <td class="coverPerMed">80.0 %</td> + <td class="coverNumMed">4 / 5</td> <td class="coverPerHi">100.0 %</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="vpd.c.gcov.html">vpd.c</a></td> + <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="../amber.png" width=76 height=10 alt="75.9%"><img src="../snow.png" width=24 height=10 alt="75.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="coverPerMed">75.9 %</td> - <td class="coverNumMed">208 / 274</td> - <td class="coverPerMed">89.5 %</td> - <td class="coverNumMed">17 / 19</td> + <td class="coverPerLo">0.0 %</td> + <td class="coverNumLo">0 / 124</td> + <td class="coverPerLo">0.0 %</td> + <td class="coverNumLo">0 / 7</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="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="../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=81 height=10 alt="81.2%"><img src="../snow.png" width=19 height=10 alt="81.2%"></td></tr></table> </td> - <td class="coverPerLo">36.4 %</td> - <td class="coverNumLo">4 / 11</td> + <td class="coverPerMed">81.2 %</td> + <td class="coverNumMed">26 / 32</td> <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">1 / 1</td> + <td class="coverNumHi">3 / 3</td> <td class="coverPerHi">-</td> <td class="coverNumHi">0 / 0</td> </tr> @@ -214,14 +226,14 @@ <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="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="../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=76 height=10 alt="75.8%"><img src="../snow.png" width=24 height=10 alt="75.8%"></td></tr></table> </td> - <td class="coverPerLo">36.4 %</td> - <td class="coverNumLo">90 / 247</td> - <td class="coverPerLo">54.5 %</td> - <td class="coverNumLo">6 / 11</td> + <td class="coverPerMed">75.8 %</td> + <td class="coverNumMed">207 / 273</td> + <td class="coverPerMed">89.5 %</td> + <td class="coverNumMed">17 / 19</td> <td class="coverPerHi">-</td> <td class="coverNumHi">0 / 0</td> </tr> @@ -238,26 +250,14 @@ <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="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="../snow.png" width=100 height=10 alt="0.0%"></td></tr></table> </td> <td class="coverPerLo">0.0 %</td> - <td class="coverNumLo">0 / 124</td> + <td class="coverNumLo">0 / 92</td> <td class="coverPerLo">0.0 %</td> - <td class="coverNumLo">0 / 7</td> - <td class="coverPerHi">-</td> - <td class="coverNumHi">0 / 0</td> - </tr> - <tr> - <td class="coverFile"><a href="hdif.c.gcov.html">hdif.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> - </td> - <td class="coverPerLo">50.5 %</td> - <td class="coverNumLo">47 / 93</td> - <td class="coverPerMed">85.7 %</td> - <td class="coverNumMed">6 / 7</td> + <td class="coverNumLo">0 / 5</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 481e68e..11279a5 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">1252</td> - <td class="headerCovTableEntry">2814</td> - <td class="headerCovTableEntryLo">44.5 %</td> + <td class="headerCovTableEntry">1226</td> + <td class="headerCovTableEntry">2794</td> + <td class="headerCovTableEntryLo">43.9 %</td> </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">101</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=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="../ruby.png" width=35 height=10 alt="34.8%"><img src="../snow.png" width=65 height=10 alt="34.8%"></td></tr></table> </td> - <td class="coverPerLo">36.4 %</td> - <td class="coverNumLo">90 / 247</td> + <td class="coverPerLo">34.8 %</td> + <td class="coverNumLo">86 / 247</td> <td class="coverPerLo">54.5 %</td> <td class="coverNumLo">6 / 11</td> <td class="coverPerHi">-</td> @@ -156,12 +156,12 @@ <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=48 height=10 alt="48.5%"><img src="../snow.png" width=52 height=10 alt="48.5%"></td></tr></table> + <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../ruby.png" width=47 height=10 alt="47.0%"><img src="../snow.png" width=53 height=10 alt="47.0%"></td></tr></table> </td> - <td class="coverPerLo">48.5 %</td> - <td class="coverNumLo">385 / 794</td> - <td class="coverPerMed">78.4 %</td> - <td class="coverNumMed">29 / 37</td> + <td class="coverPerLo">47.0 %</td> + <td class="coverNumLo">358 / 761</td> + <td class="coverPerMed">77.8 %</td> + <td class="coverNumMed">28 / 36</td> <td class="coverPerHi">-</td> <td class="coverNumHi">0 / 0</td> </tr> @@ -180,34 +180,34 @@ <tr> <td class="coverFile"><a href="hdif.c.gcov.html">hdif.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> + <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">50.5 %</td> - <td class="coverNumLo">47 / 93</td> - <td class="coverPerMed">85.7 %</td> - <td class="coverNumMed">6 / 7</td> + <td class="coverPerLo">50.0 %</td> + <td class="coverNumLo">52 / 104</td> + <td class="coverPerMed">87.5 %</td> + <td class="coverNumMed">7 / 8</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.9%"><img src="../snow.png" width=24 height=10 alt="75.9%"></td></tr></table> + <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> </td> - <td class="coverPerMed">75.9 %</td> - <td class="coverNumMed">208 / 274</td> + <td class="coverPerMed">75.8 %</td> + <td class="coverNumMed">207 / 273</td> <td class="coverPerMed">89.5 %</td> <td class="coverNumMed">17 / 19</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 %</td> - <td class="coverNumMed">4 / 5</td> + <td class="coverPerLo">36.4 %</td> + <td class="coverNumLo">4 / 11</td> <td class="coverPerHi">100.0 %</td> <td class="coverNumHi">1 / 1</td> <td class="coverPerHi">-</td> @@ -216,22 +216,22 @@ <tr> <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="../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=71 height=10 alt="71.4%"><img src="../snow.png" width=29 height=10 alt="71.4%"></td></tr></table> </td> - <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">4 / 4</td> + <td class="coverPerLo">71.4 %</td> + <td class="coverNumLo">5 / 7</td> <td class="coverPerHi">100.0 %</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.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 %</td> - <td class="coverNumLo">4 / 11</td> + <td class="coverPerMed">80.0 %</td> + <td class="coverNumMed">4 / 5</td> <td class="coverPerHi">100.0 %</td> <td class="coverNumHi">1 / 1</td> <td class="coverPerHi">-</td> diff --git a/coverage-report/hdata/index-sort-l.html b/coverage-report/hdata/index-sort-l.html index ad562ac..2cc4387 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">1252</td> - <td class="headerCovTableEntry">2814</td> - <td class="headerCovTableEntryLo">44.5 %</td> + <td class="headerCovTableEntry">1226</td> + <td class="headerCovTableEntry">2794</td> + <td class="headerCovTableEntryLo">43.9 %</td> </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">101</td> @@ -118,6 +118,18 @@ <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=35 height=10 alt="34.8%"><img src="../snow.png" width=65 height=10 alt="34.8%"></td></tr></table> + </td> + <td class="coverPerLo">34.8 %</td> + <td class="coverNumLo">86 / 247</td> + <td class="coverPerLo">54.5 %</td> + <td class="coverNumLo">6 / 11</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,38 +154,26 @@ <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=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.4 %</td> - <td class="coverNumLo">90 / 247</td> - <td class="coverPerLo">54.5 %</td> - <td class="coverNumLo">6 / 11</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="coverBar" align="center"> - <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> + <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../ruby.png" width=47 height=10 alt="47.0%"><img src="../snow.png" width=53 height=10 alt="47.0%"></td></tr></table> </td> - <td class="coverPerLo">48.5 %</td> - <td class="coverNumLo">385 / 794</td> - <td class="coverPerMed">78.4 %</td> - <td class="coverNumMed">29 / 37</td> + <td class="coverPerLo">47.0 %</td> + <td class="coverNumLo">358 / 761</td> + <td class="coverPerMed">77.8 %</td> + <td class="coverNumMed">28 / 36</td> <td class="coverPerHi">-</td> <td class="coverNumHi">0 / 0</td> </tr> <tr> <td class="coverFile"><a href="hdif.c.gcov.html">hdif.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> + <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">50.5 %</td> - <td class="coverNumLo">47 / 93</td> - <td class="coverPerMed">85.7 %</td> - <td class="coverNumMed">6 / 7</td> + <td class="coverPerLo">50.0 %</td> + <td class="coverNumLo">52 / 104</td> + <td class="coverPerMed">87.5 %</td> + <td class="coverNumMed">7 / 8</td> <td class="coverPerHi">-</td> <td class="coverNumHi">0 / 0</td> </tr> @@ -202,12 +202,24 @@ <td class="coverNumHi">0 / 0</td> </tr> <tr> + <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="../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">71.4 %</td> + <td class="coverNumLo">5 / 7</td> + <td class="coverPerHi">100.0 %</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.9%"><img src="../snow.png" width=24 height=10 alt="75.9%"></td></tr></table> + <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> </td> - <td class="coverPerMed">75.9 %</td> - <td class="coverNumMed">208 / 274</td> + <td class="coverPerMed">75.8 %</td> + <td class="coverNumMed">207 / 273</td> <td class="coverPerMed">89.5 %</td> <td class="coverNumMed">17 / 19</td> <td class="coverPerHi">-</td> @@ -249,18 +261,6 @@ <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="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 %</td> - <td class="coverNumHi">4 / 4</td> - <td class="coverPerHi">100.0 %</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/hdata/index.html b/coverage-report/hdata/index.html index 0b60f7c..093bcbc 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">1252</td> - <td class="headerCovTableEntry">2814</td> - <td class="headerCovTableEntryLo">44.5 %</td> + <td class="headerCovTableEntry">1226</td> + <td class="headerCovTableEntry">2794</td> + <td class="headerCovTableEntryLo">43.9 %</td> </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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=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="../ruby.png" width=35 height=10 alt="34.8%"><img src="../snow.png" width=65 height=10 alt="34.8%"></td></tr></table> </td> - <td class="coverPerLo">36.4 %</td> - <td class="coverNumLo">90 / 247</td> + <td class="coverPerLo">34.8 %</td> + <td class="coverNumLo">86 / 247</td> <td class="coverPerLo">54.5 %</td> <td class="coverNumLo">6 / 11</td> <td class="coverPerHi">-</td> @@ -108,22 +108,22 @@ <tr> <td class="coverFile"><a href="hdif.c.gcov.html">hdif.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> + <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">50.5 %</td> - <td class="coverNumLo">47 / 93</td> - <td class="coverPerMed">85.7 %</td> - <td class="coverNumMed">6 / 7</td> + <td class="coverPerLo">50.0 %</td> + <td class="coverNumLo">52 / 104</td> + <td class="coverPerMed">87.5 %</td> + <td class="coverNumMed">7 / 8</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="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=71 height=10 alt="71.4%"><img src="../snow.png" width=29 height=10 alt="71.4%"></td></tr></table> </td> - <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">4 / 4</td> + <td class="coverPerLo">71.4 %</td> + <td class="coverNumLo">5 / 7</td> <td class="coverPerHi">100.0 %</td> <td class="coverNumHi">1 / 1</td> <td class="coverPerHi">-</td> @@ -204,12 +204,12 @@ <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=48 height=10 alt="48.5%"><img src="../snow.png" width=52 height=10 alt="48.5%"></td></tr></table> + <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../ruby.png" width=47 height=10 alt="47.0%"><img src="../snow.png" width=53 height=10 alt="47.0%"></td></tr></table> </td> - <td class="coverPerLo">48.5 %</td> - <td class="coverNumLo">385 / 794</td> - <td class="coverPerMed">78.4 %</td> - <td class="coverNumMed">29 / 37</td> + <td class="coverPerLo">47.0 %</td> + <td class="coverNumLo">358 / 761</td> + <td class="coverPerMed">77.8 %</td> + <td class="coverNumMed">28 / 36</td> <td class="coverPerHi">-</td> <td class="coverNumHi">0 / 0</td> </tr> @@ -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.9%"><img src="../snow.png" width=24 height=10 alt="75.9%"></td></tr></table> + <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> </td> - <td class="coverPerMed">75.9 %</td> - <td class="coverNumMed">208 / 274</td> + <td class="coverPerMed">75.8 %</td> + <td class="coverNumMed">207 / 273</td> <td class="coverPerMed">89.5 %</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 245b807..5bdb30c 100644 --- a/coverage-report/hdata/iohub.c.func-sort-c.html +++ b/coverage-report/hdata/iohub.c.func-sort-c.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">8</td> @@ -117,36 +117,36 @@ <td class="coverFnLo">0</td> </tr> <tr> - <td class="coverFn"><a href="iohub.c.gcov.html#863">io_parse</a></td> - <td class="coverFnHi">2</td> - </tr> - <tr> <td class="coverFn"><a href="iohub.c.gcov.html#330">io_add_p8_cec_vpd</a></td> - <td class="coverFnHi">3</td> + <td class="coverFnHi">1</td> </tr> <tr> <td class="coverFn"><a href="iohub.c.gcov.html#16">io_get_lx_info</a></td> - <td class="coverFnHi">3</td> + <td class="coverFnHi">1</td> + </tr> + <tr> + <td class="coverFn"><a href="iohub.c.gcov.html#863">io_parse</a></td> + <td class="coverFnHi">1</td> </tr> <tr> <td class="coverFn"><a href="iohub.c.gcov.html#765">io_parse_fru</a></td> - <td class="coverFnHi">3</td> + <td class="coverFnHi">1</td> </tr> <tr> <td class="coverFn"><a href="iohub.c.gcov.html#264">io_add_p8</a></td> - <td class="coverFnHi">6</td> + <td class="coverFnHi">2</td> </tr> <tr> <td class="coverFn"><a href="iohub.c.gcov.html#726">io_parse_slots</a></td> - <td class="coverFnHi">6</td> + <td class="coverFnHi">2</td> </tr> <tr> <td class="coverFn"><a href="iohub.c.gcov.html#88">io_add_phb3</a></td> - <td class="coverFnHi">11</td> + <td class="coverFnHi">4</td> </tr> <tr> <td class="coverFn"><a href="iohub.c.gcov.html#56">io_get_loc_code</a></td> - <td class="coverFnHi">14</td> + <td class="coverFnHi">5</td> </tr> </table> <br> diff --git a/coverage-report/hdata/iohub.c.func.html b/coverage-report/hdata/iohub.c.func.html index 8c6e774..7e2478e 100644 --- a/coverage-report/hdata/iohub.c.func.html +++ b/coverage-report/hdata/iohub.c.func.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">8</td> @@ -90,11 +90,11 @@ </tr> <tr> <td class="coverFn"><a href="iohub.c.gcov.html#264">io_add_p8</a></td> - <td class="coverFnHi">6</td> + <td class="coverFnHi">2</td> </tr> <tr> <td class="coverFn"><a href="iohub.c.gcov.html#330">io_add_p8_cec_vpd</a></td> - <td class="coverFnHi">3</td> + <td class="coverFnHi">1</td> </tr> <tr> <td class="coverFn"><a href="iohub.c.gcov.html#296">io_add_p9</a></td> @@ -102,7 +102,7 @@ </tr> <tr> <td class="coverFn"><a href="iohub.c.gcov.html#88">io_add_phb3</a></td> - <td class="coverFnHi">11</td> + <td class="coverFnHi">4</td> </tr> <tr> <td class="coverFn"><a href="iohub.c.gcov.html#207">io_add_phb4</a></td> @@ -110,23 +110,23 @@ </tr> <tr> <td class="coverFn"><a href="iohub.c.gcov.html#56">io_get_loc_code</a></td> - <td class="coverFnHi">14</td> + <td class="coverFnHi">5</td> </tr> <tr> <td class="coverFn"><a href="iohub.c.gcov.html#16">io_get_lx_info</a></td> - <td class="coverFnHi">3</td> + <td class="coverFnHi">1</td> </tr> <tr> <td class="coverFn"><a href="iohub.c.gcov.html#863">io_parse</a></td> - <td class="coverFnHi">2</td> + <td class="coverFnHi">1</td> </tr> <tr> <td class="coverFn"><a href="iohub.c.gcov.html#765">io_parse_fru</a></td> - <td class="coverFnHi">3</td> + <td class="coverFnHi">1</td> </tr> <tr> <td class="coverFn"><a href="iohub.c.gcov.html#726">io_parse_slots</a></td> - <td class="coverFnHi">6</td> + <td class="coverFnHi">2</td> </tr> <tr> <td class="coverFn"><a href="iohub.c.gcov.html#534">is_port</a></td> diff --git a/coverage-report/hdata/iohub.c.gcov.html b/coverage-report/hdata/iohub.c.gcov.html index b2556b4..cc9866f 100644 --- a/coverage-report/hdata/iohub.c.gcov.html +++ b/coverage-report/hdata/iohub.c.gcov.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">8</td> @@ -86,47 +86,47 @@ <a name="15"><span class="lineNum"> 15 </span> : : </a> <a name="16"><span class="lineNum"> 16 </span> : : #include "hdata.h"</a> <a name="17"><span class="lineNum"> 17 </span> : : </a> -<a name="18"><span class="lineNum"> 18 </span> :<span class="lineCov"> 3 : static bool io_get_lx_info(const void *kwvpd, unsigned int kwvpd_sz,</span></a> +<a name="18"><span class="lineNum"> 18 </span> :<span class="lineCov"> 1 : static bool io_get_lx_info(const void *kwvpd, unsigned int kwvpd_sz,</span></a> <a name="19"><span class="lineNum"> 19 </span> : : int lx_idx, struct dt_node *hn)</a> <a name="20"><span class="lineNum"> 20 </span> : : {</a> <a name="21"><span class="lineNum"> 21 </span> : : const void *lxr;</a> <a name="22"><span class="lineNum"> 22 </span> : : char recname[5];</a> -<a name="23"><span class="lineNum"> 23 </span> :<span class="lineCov"> 3 : beint32_t lxrbuf[2] = { 0, 0 };</span></a> +<a name="23"><span class="lineNum"> 23 </span> :<span class="lineCov"> 1 : beint32_t lxrbuf[2] = { 0, 0 };</span></a> <a name="24"><span class="lineNum"> 24 </span> : : </a> <a name="25"><span class="lineNum"> 25 </span> : : /* Find LXRn, where n is the index passed in*/</a> -<a name="26"><span class="lineNum"> 26 </span> :<span class="lineCov"> 3 : strcpy(recname, "LXR0");</span></a> -<a name="27"><span class="lineNum"> 27 </span> :<span class="lineCov"> 3 : recname[3] += lx_idx;</span></a> -<a name="28"><span class="lineNum"> 28 </span> :<span class="lineCov"> 3 : lxr = vpd_find(kwvpd, kwvpd_sz, recname, "LX", NULL);</span></a> -<a name="29"><span class="lineNum"> 29 </span> :<span class="lineCov"> 3 : if (!lxr) {</span></a> +<a name="26"><span class="lineNum"> 26 </span> :<span class="lineCov"> 1 : strcpy(recname, "LXR0");</span></a> +<a name="27"><span class="lineNum"> 27 </span> :<span class="lineCov"> 1 : recname[3] += lx_idx;</span></a> +<a name="28"><span class="lineNum"> 28 </span> :<span class="lineCov"> 1 : lxr = vpd_find(kwvpd, kwvpd_sz, recname, "LX", NULL);</span></a> +<a name="29"><span class="lineNum"> 29 </span> :<span class="lineCov"> 1 : if (!lxr) {</span></a> <a name="30"><span class="lineNum"> 30 </span> : : /* Not found, try VINI */</a> <a name="31"><span class="lineNum"> 31 </span> :<span class="lineNoCov"> 0 : lxr = vpd_find(kwvpd, kwvpd_sz, "VINI",</span></a> <a name="32"><span class="lineNum"> 32 </span> : : "LX", NULL);</a> <a name="33"><span class="lineNum"> 33 </span> :<span class="lineNoCov"> 0 : if (lxr)</span></a> <a name="34"><span class="lineNum"> 34 </span> :<span class="lineNoCov"> 0 : lx_idx = VPD_LOAD_LXRN_VINI;</span></a> <a name="35"><span class="lineNum"> 35 </span> : : }</a> -<a name="36"><span class="lineNum"> 36 </span> :<span class="lineCov"> 3 : if (!lxr) {</span></a> +<a name="36"><span class="lineNum"> 36 </span> :<span class="lineCov"> 1 : if (!lxr) {</span></a> <a name="37"><span class="lineNum"> 37 </span> :<span class="lineNoCov"> 0 : prlog(PR_DEBUG, "CEC: LXR%x not found !\n", lx_idx);</span></a> <a name="38"><span class="lineNum"> 38 </span> :<span class="lineNoCov"> 0 : return false;</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"> 3 : memcpy(lxrbuf, lxr, sizeof(beint32_t)*2);</span></a> +<a name="41"><span class="lineNum"> 41 </span> :<span class="lineCov"> 1 : memcpy(lxrbuf, lxr, sizeof(beint32_t)*2);</span></a> <a name="42"><span class="lineNum"> 42 </span> : : </a> -<a name="43"><span class="lineNum"> 43 </span> :<span class="lineCov"> 3 : prlog(PR_DEBUG, "CEC: LXRn=%d LXR=%08x%08x\n", lx_idx, be32_to_cpu(lxrbuf[0]), be32_to_cpu(lxrbuf[1]));</span></a> -<a name="44"><span class="lineNum"> 44 </span> :<span class="lineCov"> 3 : prlog(PR_DEBUG, "CEC: LX Info added to %llx\n", (long long)hn);</span></a> +<a name="43"><span class="lineNum"> 43 </span> :<span class="lineCov"> 1 : prlog(PR_DEBUG, "CEC: LXRn=%d LXR=%08x%08x\n", lx_idx, be32_to_cpu(lxrbuf[0]), be32_to_cpu(lxrbuf[1]));</span></a> +<a name="44"><span class="lineNum"> 44 </span> :<span class="lineCov"> 1 : prlog(PR_DEBUG, "CEC: LX Info added to %llx\n", (long long)hn);</span></a> <a name="45"><span class="lineNum"> 45 </span> : : </a> <a name="46"><span class="lineNum"> 46 </span> : : /* Add the LX info */</a> -<a name="47"><span class="lineNum"> 47 </span> :<span class="lineCov"> 3 : if (!dt_has_node_property(hn, "ibm,vpd-lx-info", NULL)) {</span></a> -<a name="48"><span class="lineNum"> 48 </span> :<span class="lineCov"> 2 : dt_add_property_cells(hn, "ibm,vpd-lx-info",</span></a> +<a name="47"><span class="lineNum"> 47 </span> :<span class="lineCov"> 1 : if (!dt_has_node_property(hn, "ibm,vpd-lx-info", NULL)) {</span></a> +<a name="48"><span class="lineNum"> 48 </span> :<span class="lineCov"> 1 : dt_add_property_cells(hn, "ibm,vpd-lx-info",</span></a> <a name="49"><span class="lineNum"> 49 </span> : : lx_idx,</a> <a name="50"><span class="lineNum"> 50 </span> : : be32_to_cpu(lxrbuf[0]),</a> <a name="51"><span class="lineNum"> 51 </span> : : be32_to_cpu(lxrbuf[1]));</a> <a name="52"><span class="lineNum"> 52 </span> : : }</a> <a name="53"><span class="lineNum"> 53 </span> : : </a> -<a name="54"><span class="lineNum"> 54 </span> :<span class="lineCov"> 3 : return true;</span></a> +<a name="54"><span class="lineNum"> 54 </span> :<span class="lineCov"> 1 : return true;</span></a> <a name="55"><span class="lineNum"> 55 </span> : : }</a> <a name="56"><span class="lineNum"> 56 </span> : : </a> <a name="57"><span class="lineNum"> 57 </span> : : </a> -<a name="58"><span class="lineNum"> 58 </span> :<span class="lineCov"> 14 : static void io_get_loc_code(const void *sp_iohubs, struct dt_node *hn, const char *prop_name)</span></a> +<a name="58"><span class="lineNum"> 58 </span> :<span class="lineCov"> 5 : static void io_get_loc_code(const void *sp_iohubs, struct dt_node *hn, const char *prop_name)</span></a> <a name="59"><span class="lineNum"> 59 </span> : : {</a> <a name="60"><span class="lineNum"> 60 </span> : : const struct spira_fru_id *fru_id;</a> <a name="61"><span class="lineNum"> 61 </span> : : unsigned int fru_id_sz;</a> @@ -134,19 +134,19 @@ <a name="63"><span class="lineNum"> 63 </span> : : const char *slca_loc_code;</a> <a name="64"><span class="lineNum"> 64 </span> : : </a> <a name="65"><span class="lineNum"> 65 </span> : : /* Find SLCA Index */</a> -<a name="66"><span class="lineNum"> 66 </span> :<span class="lineCov"> 14 : fru_id = HDIF_get_idata(sp_iohubs, CECHUB_FRU_ID_DATA, &fru_id_sz);</span></a> -<a name="67"><span class="lineNum"> 67 </span> :<span class="lineCov"> 14 : if (fru_id) {</span></a> -<a name="68"><span class="lineNum"> 68 </span> :<span class="lineCov"> 14 : memset(loc_code, 0, sizeof(loc_code));</span></a> +<a name="66"><span class="lineNum"> 66 </span> :<span class="lineCov"> 5 : fru_id = HDIF_get_idata(sp_iohubs, CECHUB_FRU_ID_DATA, &fru_id_sz);</span></a> +<a name="67"><span class="lineNum"> 67 </span> :<span class="lineCov"> 5 : if (fru_id) {</span></a> +<a name="68"><span class="lineNum"> 68 </span> :<span class="lineCov"> 5 : memset(loc_code, 0, sizeof(loc_code));</span></a> <a name="69"><span class="lineNum"> 69 </span> : : </a> <a name="70"><span class="lineNum"> 70 </span> : : /* Find LOC Code from SLCA Index */</a> -<a name="71"><span class="lineNum"> 71 </span> :<span class="lineCov"> 14 : slca_loc_code = slca_get_loc_code_index(be16_to_cpu(fru_id->slca_index));</span></a> -<a name="72"><span class="lineNum"> 72 </span> :<span class="lineCov"> 14 : if (slca_loc_code) {</span></a> -<a name="73"><span class="lineNum"> 73 </span> :<span class="lineCov"> 14 : strncpy(loc_code, slca_loc_code, LOC_CODE_SIZE);</span></a> -<a name="74"><span class="lineNum"> 74 </span> :<span class="lineCov"> 14 : if (!dt_has_node_property(hn, prop_name, NULL)) {</span></a> -<a name="75"><span class="lineNum"> 75 </span> :<span class="lineCov"> 13 : dt_add_property(hn, prop_name, loc_code,</span></a> -<a name="76"><span class="lineNum"> 76 </span> :<span class="lineCov"> 13 : strlen(loc_code) + 1);</span></a> +<a name="71"><span class="lineNum"> 71 </span> :<span class="lineCov"> 5 : slca_loc_code = slca_get_loc_code_index(be16_to_cpu(fru_id->slca_index));</span></a> +<a name="72"><span class="lineNum"> 72 </span> :<span class="lineCov"> 5 : if (slca_loc_code) {</span></a> +<a name="73"><span class="lineNum"> 73 </span> :<span class="lineCov"> 5 : strncpy(loc_code, slca_loc_code, LOC_CODE_SIZE);</span></a> +<a name="74"><span class="lineNum"> 74 </span> :<span class="lineCov"> 5 : if (!dt_has_node_property(hn, prop_name, NULL)) {</span></a> +<a name="75"><span class="lineNum"> 75 </span> :<span class="lineCov"> 5 : dt_add_property(hn, prop_name, loc_code,</span></a> +<a name="76"><span class="lineNum"> 76 </span> :<span class="lineCov"> 5 : strlen(loc_code) + 1);</span></a> <a name="77"><span class="lineNum"> 77 </span> : : }</a> -<a name="78"><span class="lineNum"> 78 </span> :<span class="lineCov"> 14 : prlog(PR_DEBUG, "CEC: %s: %s (SLCA rsrc 0x%x)\n",</span></a> +<a name="78"><span class="lineNum"> 78 </span> :<span class="lineCov"> 5 : prlog(PR_DEBUG, "CEC: %s: %s (SLCA rsrc 0x%x)\n",</span></a> <a name="79"><span class="lineNum"> 79 </span> : : prop_name, loc_code,</a> <a name="80"><span class="lineNum"> 80 </span> : : be16_to_cpu(fru_id->rsrc_id));</a> <a name="81"><span class="lineNum"> 81 </span> : : } else {</a> @@ -156,9 +156,9 @@ <a name="85"><span class="lineNum"> 85 </span> : : } else {</a> <a name="86"><span class="lineNum"> 86 </span> :<span class="lineNoCov"> 0 : prlog(PR_DEBUG, "CEC: Hub FRU ID not found...\n");</span></a> <a name="87"><span class="lineNum"> 87 </span> : : }</a> -<a name="88"><span class="lineNum"> 88 </span> :<span class="lineCov"> 14 : }</span></a> +<a name="88"><span class="lineNum"> 88 </span> :<span class="lineCov"> 5 : }</span></a> <a name="89"><span class="lineNum"> 89 </span> : : </a> -<a name="90"><span class="lineNum"> 90 </span> :<span class="lineCov"> 11 : static struct dt_node *io_add_phb3(const struct cechub_io_hub *hub,</span></a> +<a name="90"><span class="lineNum"> 90 </span> :<span class="lineCov"> 4 : static struct dt_node *io_add_phb3(const struct cechub_io_hub *hub,</span></a> <a name="91"><span class="lineNum"> 91 </span> : : const struct HDIF_common_hdr *sp_iohubs,</a> <a name="92"><span class="lineNum"> 92 </span> : : unsigned int index, struct dt_node *xcom,</a> <a name="93"><span class="lineNum"> 93 </span> : : unsigned int pe_xscom,</a> @@ -169,52 +169,52 @@ <a name="98"><span class="lineNum"> 98 </span> : : unsigned int hdif_vers;</a> <a name="99"><span class="lineNum"> 99 </span> : : </a> <a name="100"><span class="lineNum"> 100 </span> : : /* Get HDIF version */</a> -<a name="101"><span class="lineNum"> 101 </span> :<span class="lineCov"> 11 : hdif_vers = be16_to_cpu(sp_iohubs->version);</span></a> +<a name="101"><span class="lineNum"> 101 </span> :<span class="lineCov"> 4 : hdif_vers = be16_to_cpu(sp_iohubs->version);</span></a> <a name="102"><span class="lineNum"> 102 </span> : : </a> <a name="103"><span class="lineNum"> 103 </span> : : /* Create PBCQ node under xscom */</a> -<a name="104"><span class="lineNum"> 104 </span> :<span class="lineCov"> 11 : pbcq = dt_new_addr(xcom, "pbcq", pe_xscom);</span></a> -<a name="105"><span class="lineNum"> 105 </span> :<span class="lineCov"> 11 : if (!pbcq)</span></a> +<a name="104"><span class="lineNum"> 104 </span> :<span class="lineCov"> 4 : pbcq = dt_new_addr(xcom, "pbcq", pe_xscom);</span></a> +<a name="105"><span class="lineNum"> 105 </span> :<span class="lineCov"> 4 : if (!pbcq)</span></a> <a name="106"><span class="lineNum"> 106 </span> :<span class="lineNoCov"> 0 : return NULL;</span></a> <a name="107"><span class="lineNum"> 107 </span> : : </a> <a name="108"><span class="lineNum"> 108 </span> : : /* "reg" property contains in order the PE, PCI and SPCI XSCOM</a> <a name="109"><span class="lineNum"> 109 </span> : : * addresses</a> <a name="110"><span class="lineNum"> 110 </span> : : */</a> -<a name="111"><span class="lineNum"> 111 </span> :<span class="lineCov"> 11 : dt_add_property_cells(pbcq, "reg",</span></a> +<a name="111"><span class="lineNum"> 111 </span> :<span class="lineCov"> 4 : dt_add_property_cells(pbcq, "reg",</span></a> <a name="112"><span class="lineNum"> 112 </span> : : pe_xscom, 0x20,</a> <a name="113"><span class="lineNum"> 113 </span> : : pci_xscom, 0x05,</a> <a name="114"><span class="lineNum"> 114 </span> : : spci_xscom, 0x15);</a> <a name="115"><span class="lineNum"> 115 </span> : : </a> <a name="116"><span class="lineNum"> 116 </span> : : /* A couple more things ... */</a> -<a name="117"><span class="lineNum"> 117 </span> :<span class="lineCov"> 11 : dt_add_property_strings(pbcq, "compatible", "ibm,power8-pbcq");</span></a> -<a name="118"><span class="lineNum"> 118 </span> :<span class="lineCov"> 11 : dt_add_property_cells(pbcq, "ibm,phb-index", index);</span></a> -<a name="119"><span class="lineNum"> 119 </span> :<span class="lineCov"> 11 : dt_add_property_cells(pbcq, "ibm,hub-id", be16_to_cpu(hub->hub_num));</span></a> +<a name="117"><span class="lineNum"> 117 </span> :<span class="lineCov"> 4 : dt_add_property_strings(pbcq, "compatible", "ibm,power8-pbcq");</span></a> +<a name="118"><span class="lineNum"> 118 </span> :<span class="lineCov"> 4 : dt_add_property_cells(pbcq, "ibm,phb-index", index);</span></a> +<a name="119"><span class="lineNum"> 119 </span> :<span class="lineCov"> 4 : dt_add_property_cells(pbcq, "ibm,hub-id", be16_to_cpu(hub->hub_num));</span></a> <a name="120"><span class="lineNum"> 120 </span> : : </a> <a name="121"><span class="lineNum"> 121 </span> : : /* The loc code of the PHB itself is different from the base</a> <a name="122"><span class="lineNum"> 122 </span> : : * loc code of the slots (It's actually the DCM's loc code).</a> <a name="123"><span class="lineNum"> 123 </span> : : */</a> -<a name="124"><span class="lineNum"> 124 </span> :<span class="lineCov"> 11 : io_get_loc_code(sp_iohubs, pbcq, "ibm,loc-code");</span></a> +<a name="124"><span class="lineNum"> 124 </span> :<span class="lineCov"> 4 : io_get_loc_code(sp_iohubs, pbcq, "ibm,loc-code");</span></a> <a name="125"><span class="lineNum"> 125 </span> : : </a> <a name="126"><span class="lineNum"> 126 </span> : : /* We indicate that this is an IBM setup, which means that</a> <a name="127"><span class="lineNum"> 127 </span> : : * the presence detect A/B bits are meaningful. So far we</a> <a name="128"><span class="lineNum"> 128 </span> : : * don't know whether they make any sense on customer setups</a> <a name="129"><span class="lineNum"> 129 </span> : : * so we only set that when booting with HDAT</a> <a name="130"><span class="lineNum"> 130 </span> : : */</a> -<a name="131"><span class="lineNum"> 131 </span> :<span class="lineCov"> 11 : dt_add_property(pbcq, "ibm,use-ab-detect", NULL, 0);</span></a> +<a name="131"><span class="lineNum"> 131 </span> :<span class="lineCov"> 4 : dt_add_property(pbcq, "ibm,use-ab-detect", NULL, 0);</span></a> <a name="132"><span class="lineNum"> 132 </span> : : </a> <a name="133"><span class="lineNum"> 133 </span> : : /* HDAT spec has these in version 0x6A and later */</a> -<a name="134"><span class="lineNum"> 134 </span> :<span class="lineCov"> 11 : if (hdif_vers >= 0x6a) {</span></a> -<a name="135"><span class="lineNum"> 135 </span> :<span class="lineCov"> 11 : u64 eq0 = be64_to_cpu(hub->phb_lane_eq[index][0]);</span></a> -<a name="136"><span class="lineNum"> 136 </span> :<span class="lineCov"> 11 : u64 eq1 = be64_to_cpu(hub->phb_lane_eq[index][1]);</span></a> -<a name="137"><span class="lineNum"> 137 </span> :<span class="lineCov"> 11 : u64 eq2 = be64_to_cpu(hub->phb_lane_eq[index][2]);</span></a> -<a name="138"><span class="lineNum"> 138 </span> :<span class="lineCov"> 11 : u64 eq3 = be64_to_cpu(hub->phb_lane_eq[index][3]);</span></a> +<a name="134"><span class="lineNum"> 134 </span> :<span class="lineCov"> 4 : if (hdif_vers >= 0x6a) {</span></a> +<a name="135"><span class="lineNum"> 135 </span> :<span class="lineCov"> 4 : u64 eq0 = be64_to_cpu(hub->phb_lane_eq[index][0]);</span></a> +<a name="136"><span class="lineNum"> 136 </span> :<span class="lineCov"> 4 : u64 eq1 = be64_to_cpu(hub->phb_lane_eq[index][1]);</span></a> +<a name="137"><span class="lineNum"> 137 </span> :<span class="lineCov"> 4 : u64 eq2 = be64_to_cpu(hub->phb_lane_eq[index][2]);</span></a> +<a name="138"><span class="lineNum"> 138 </span> :<span class="lineCov"> 4 : u64 eq3 = be64_to_cpu(hub->phb_lane_eq[index][3]);</span></a> <a name="139"><span class="lineNum"> 139 </span> : : </a> -<a name="140"><span class="lineNum"> 140 </span> :<span class="lineCov"> 11 : dt_add_property_u64s(pbcq, "ibm,lane-eq", eq0, eq1, eq2, eq3);</span></a> +<a name="140"><span class="lineNum"> 140 </span> :<span class="lineCov"> 4 : dt_add_property_u64s(pbcq, "ibm,lane-eq", eq0, eq1, eq2, eq3);</span></a> <a name="141"><span class="lineNum"> 141 </span> : : }</a> <a name="142"><span class="lineNum"> 142 </span> : : </a> <a name="143"><span class="lineNum"> 143 </span> : : /* Currently we only create a PBCQ node, the actual PHB nodes</a> <a name="144"><span class="lineNum"> 144 </span> : : * will be added by sapphire later on.</a> <a name="145"><span class="lineNum"> 145 </span> : : */</a> -<a name="146"><span class="lineNum"> 146 </span> :<span class="lineCov"> 11 : return pbcq;</span></a> +<a name="146"><span class="lineNum"> 146 </span> :<span class="lineCov"> 4 : return pbcq;</span></a> <a name="147"><span class="lineNum"> 147 </span> : : }</a> <a name="148"><span class="lineNum"> 148 </span> : : </a> <a name="149"><span class="lineNum"> 149 </span> :<span class="lineNoCov"> 0 : static struct dt_node *add_pec_stack(const struct cechub_io_hub *hub,</span></a> @@ -334,35 +334,35 @@ <a name="263"><span class="lineNum"> 263 </span> :<span class="lineNoCov"> 0 : return pbcq;</span></a> <a name="264"><span class="lineNum"> 264 </span> : : }</a> <a name="265"><span class="lineNum"> 265 </span> : : </a> -<a name="266"><span class="lineNum"> 266 </span> :<span class="lineCov"> 6 : static struct dt_node *io_add_p8(const struct cechub_io_hub *hub,</span></a> +<a name="266"><span class="lineNum"> 266 </span> :<span class="lineCov"> 2 : static struct dt_node *io_add_p8(const struct cechub_io_hub *hub,</span></a> <a name="267"><span class="lineNum"> 267 </span> : : const struct HDIF_common_hdr *sp_iohubs)</a> <a name="268"><span class="lineNum"> 268 </span> : : {</a> <a name="269"><span class="lineNum"> 269 </span> : : struct dt_node *xscom;</a> <a name="270"><span class="lineNum"> 270 </span> : : unsigned int i, chip_id;</a> <a name="271"><span class="lineNum"> 271 </span> : : </a> -<a name="272"><span class="lineNum"> 272 </span> :<span class="lineCov"> 6 : chip_id = pcid_to_chip_id(be32_to_cpu(hub->proc_chip_id));</span></a> +<a name="272"><span class="lineNum"> 272 </span> :<span class="lineCov"> 2 : chip_id = pcid_to_chip_id(be32_to_cpu(hub->proc_chip_id));</span></a> <a name="273"><span class="lineNum"> 273 </span> : : </a> -<a name="274"><span class="lineNum"> 274 </span> :<span class="lineCov"> 6 : prlog(PR_INFO, "CEC: HW CHIP=0x%x, HW TOPO=0x%04x\n", chip_id,</span></a> +<a name="274"><span class="lineNum"> 274 </span> :<span class="lineCov"> 2 : prlog(PR_INFO, "CEC: HW CHIP=0x%x, HW TOPO=0x%04x\n", chip_id,</span></a> <a name="275"><span class="lineNum"> 275 </span> : : be16_to_cpu(hub->hw_topology));</a> <a name="276"><span class="lineNum"> 276 </span> : : </a> -<a name="277"><span class="lineNum"> 277 </span> :<span class="lineCov"> 6 : xscom = find_xscom_for_chip(chip_id);</span></a> -<a name="278"><span class="lineNum"> 278 </span> :<span class="lineCov"> 6 : if (!xscom) {</span></a> +<a name="277"><span class="lineNum"> 277 </span> :<span class="lineCov"> 2 : xscom = find_xscom_for_chip(chip_id);</span></a> +<a name="278"><span class="lineNum"> 278 </span> :<span class="lineCov"> 2 : if (!xscom) {</span></a> <a name="279"><span class="lineNum"> 279 </span> :<span class="lineNoCov"> 0 : prerror("P8: Can't find XSCOM for chip %d\n", chip_id);</span></a> <a name="280"><span class="lineNum"> 280 </span> :<span class="lineNoCov"> 0 : return NULL;</span></a> <a name="281"><span class="lineNum"> 281 </span> : : }</a> <a name="282"><span class="lineNum"> 282 </span> : : </a> <a name="283"><span class="lineNum"> 283 </span> : : /* Create PHBs, max 3 */</a> -<a name="284"><span class="lineNum"> 284 </span> :<span class="lineCov"> 24 : for (i = 0; i < 3; i++) {</span></a> -<a name="285"><span class="lineNum"> 285 </span> :<span class="lineCov"> 18 : if (hub->fab_br0_pdt & (0x80 >> i))</span></a> +<a name="284"><span class="lineNum"> 284 </span> :<span class="lineCov"> 8 : for (i = 0; i < 3; i++) {</span></a> +<a name="285"><span class="lineNum"> 285 </span> :<span class="lineCov"> 6 : if (hub->fab_br0_pdt & (0x80 >> i))</span></a> <a name="286"><span class="lineNum"> 286 </span> : : /* XSCOM addresses are the same on Murano and Venice */</a> -<a name="287"><span class="lineNum"> 287 </span> :<span class="lineCov"> 11 : io_add_phb3(hub, sp_iohubs, i, xscom,</span></a> -<a name="288"><span class="lineNum"> 288 </span> :<span class="lineCov"> 11 : 0x02012000 + (i * 0x400),</span></a> -<a name="289"><span class="lineNum"> 289 </span> :<span class="lineCov"> 11 : 0x09012000 + (i * 0x400),</span></a> -<a name="290"><span class="lineNum"> 290 </span> :<span class="lineCov"> 11 : 0x09013c00 + (i * 0x40));</span></a> +<a name="287"><span class="lineNum"> 287 </span> :<span class="lineCov"> 4 : io_add_phb3(hub, sp_iohubs, i, xscom,</span></a> +<a name="288"><span class="lineNum"> 288 </span> :<span class="lineCov"> 4 : 0x02012000 + (i * 0x400),</span></a> +<a name="289"><span class="lineNum"> 289 </span> :<span class="lineCov"> 4 : 0x09012000 + (i * 0x400),</span></a> +<a name="290"><span class="lineNum"> 290 </span> :<span class="lineCov"> 4 : 0x09013c00 + (i * 0x40));</span></a> <a name="291"><span class="lineNum"> 291 </span> : : }</a> <a name="292"><span class="lineNum"> 292 </span> : : </a> <a name="293"><span class="lineNum"> 293 </span> : : /* HACK: We return the XSCOM device for the VPD info */</a> -<a name="294"><span class="lineNum"> 294 </span> :<span class="lineCov"> 6 : return xscom;</span></a> +<a name="294"><span class="lineNum"> 294 </span> :<span class="lineCov"> 2 : return xscom;</span></a> <a name="295"><span class="lineNum"> 295 </span> : : }</a> <a name="296"><span class="lineNum"> 296 </span> : : </a> <a name="297"><span class="lineNum"> 297 </span> : : /* Add PBCQs for p9/p10 */</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> : : </a> -<a name="332"><span class="lineNum"> 332 </span> :<span class="lineCov"> 3 : static void io_add_p8_cec_vpd(const struct HDIF_common_hdr *sp_iohubs)</span></a> +<a name="332"><span class="lineNum"> 332 </span> :<span class="lineCov"> 1 : static void io_add_p8_cec_vpd(const struct HDIF_common_hdr *sp_iohubs)</span></a> <a name="333"><span class="lineNum"> 333 </span> : : {</a> <a name="334"><span class="lineNum"> 334 </span> : : const struct HDIF_child_ptr *iokids;</a> <a name="335"><span class="lineNum"> 335 </span> : : const void *iokid; </a> @@ -408,38 +408,38 @@ <a name="337"><span class="lineNum"> 337 </span> : : unsigned int kwvpd_sz;</a> <a name="338"><span class="lineNum"> 338 </span> : : </a> <a name="339"><span class="lineNum"> 339 </span> : : /* P8 LXR0 kept in IO KID Keyword VPD */</a> -<a name="340"><span class="lineNum"> 340 </span> :<span class="lineCov"> 3 : iokids = HDIF_child_arr(sp_iohubs, CECHUB_CHILD_IO_KIDS);</span></a> -<a name="341"><span class="lineNum"> 341 </span> :<span class="lineCov"> 3 : if (!CHECK_SPPTR(iokids)) {</span></a> +<a name="340"><span class="lineNum"> 340 </span> :<span class="lineCov"> 1 : iokids = HDIF_child_arr(sp_iohubs, CECHUB_CHILD_IO_KIDS);</span></a> +<a name="341"><span class="lineNum"> 341 </span> :<span class="lineCov"> 1 : if (!CHECK_SPPTR(iokids)) {</span></a> <a name="342"><span class="lineNum"> 342 </span> :<span class="lineNoCov"> 0 : prlog(PR_WARNING, "CEC: No IOKID child array !\n");</span></a> <a name="343"><span class="lineNum"> 343 </span> :<span class="lineNoCov"> 0 : return;</span></a> <a name="344"><span class="lineNum"> 344 </span> : : }</a> -<a name="345"><span class="lineNum"> 345 </span> :<span class="lineCov"> 3 : if (!iokids->count) {</span></a> +<a name="345"><span class="lineNum"> 345 </span> :<span class="lineCov"> 1 : if (!iokids->count) {</span></a> <a name="346"><span class="lineNum"> 346 </span> :<span class="lineNoCov"> 0 : prlog(PR_WARNING, "CEC: IOKID count is 0 !\n");</span></a> <a name="347"><span class="lineNum"> 347 </span> :<span class="lineNoCov"> 0 : return;</span></a> <a name="348"><span class="lineNum"> 348 </span> : : }</a> -<a name="349"><span class="lineNum"> 349 </span> :<span class="lineCov"> 3 : if (be32_to_cpu(iokids->count) > 1) {</span></a> +<a name="349"><span class="lineNum"> 349 </span> :<span class="lineCov"> 1 : if (be32_to_cpu(iokids->count) > 1) {</span></a> <a name="350"><span class="lineNum"> 350 </span> :<span class="lineNoCov"> 0 : prlog(PR_WARNING, "CEC: WARNING ! More than 1 IO KID !!! (%d)\n",</span></a> <a name="351"><span class="lineNum"> 351 </span> : : be32_to_cpu(iokids->count));</a> <a name="352"><span class="lineNum"> 352 </span> : : /* Ignoring the additional ones */</a> <a name="353"><span class="lineNum"> 353 </span> : : }</a> <a name="354"><span class="lineNum"> 354 </span> : : </a> -<a name="355"><span class="lineNum"> 355 </span> :<span class="lineCov"> 3 : iokid = HDIF_child(sp_iohubs, iokids, 0, "IO KID");</span></a> -<a name="356"><span class="lineNum"> 356 </span> :<span class="lineCov"> 3 : if (!iokid) {</span></a> +<a name="355"><span class="lineNum"> 355 </span> :<span class="lineCov"> 1 : iokid = HDIF_child(sp_iohubs, iokids, 0, "IO KID");</span></a> +<a name="356"><span class="lineNum"> 356 </span> :<span class="lineCov"> 1 : if (!iokid) {</span></a> <a name="357"><span class="lineNum"> 357 </span> :<span class="lineNoCov"> 0 : prlog(PR_WARNING, "CEC: No IO KID structure in child array !\n");</span></a> <a name="358"><span class="lineNum"> 358 </span> :<span class="lineNoCov"> 0 : return;</span></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> : : /* Grab base location code for slots */</a> -<a name="362"><span class="lineNum"> 362 </span> :<span class="lineCov"> 3 : io_get_loc_code(iokid, dt_root, "ibm,io-base-loc-code");</span></a> +<a name="362"><span class="lineNum"> 362 </span> :<span class="lineCov"> 1 : io_get_loc_code(iokid, dt_root, "ibm,io-base-loc-code");</span></a> <a name="363"><span class="lineNum"> 363 </span> : : </a> -<a name="364"><span class="lineNum"> 364 </span> :<span class="lineCov"> 3 : kwvpd = HDIF_get_idata(iokid, CECHUB_ASCII_KEYWORD_VPD, &kwvpd_sz);</span></a> -<a name="365"><span class="lineNum"> 365 </span> :<span class="lineCov"> 3 : if (!kwvpd) {</span></a> +<a name="364"><span class="lineNum"> 364 </span> :<span class="lineCov"> 1 : kwvpd = HDIF_get_idata(iokid, CECHUB_ASCII_KEYWORD_VPD, &kwvpd_sz);</span></a> +<a name="365"><span class="lineNum"> 365 </span> :<span class="lineCov"> 1 : if (!kwvpd) {</span></a> <a name="366"><span class="lineNum"> 366 </span> :<span class="lineNoCov"> 0 : prlog(PR_WARNING, "CEC: No VPD entry in IO KID !\n");</span></a> <a name="367"><span class="lineNum"> 367 </span> :<span class="lineNoCov"> 0 : return;</span></a> <a name="368"><span class="lineNum"> 368 </span> : : }</a> <a name="369"><span class="lineNum"> 369 </span> : : </a> <a name="370"><span class="lineNum"> 370 </span> : : /* Grab LX load info */</a> -<a name="371"><span class="lineNum"> 371 </span> :<span class="lineCov"> 3 : io_get_lx_info(kwvpd, kwvpd_sz, 0, dt_root);</span></a> +<a name="371"><span class="lineNum"> 371 </span> :<span class="lineCov"> 1 : io_get_lx_info(kwvpd, kwvpd_sz, 0, dt_root);</span></a> <a name="372"><span class="lineNum"> 372 </span> : : }</a> <a name="373"><span class="lineNum"> 373 </span> : : </a> <a name="374"><span class="lineNum"> 374 </span> : : /*</a> @@ -796,7 +796,7 @@ <a name="725"><span class="lineNum"> 725 </span> :<span class="lineNoCov"> 0 : return slots;</span></a> <a name="726"><span class="lineNum"> 726 </span> : : }</a> <a name="727"><span class="lineNum"> 727 </span> : : </a> -<a name="728"><span class="lineNum"> 728 </span> :<span class="lineCov"> 6 : static void io_parse_slots(const struct HDIF_common_hdr *sp_iohubs, int hub_id)</span></a> +<a name="728"><span class="lineNum"> 728 </span> :<span class="lineCov"> 2 : static void io_parse_slots(const struct HDIF_common_hdr *sp_iohubs, int hub_id)</span></a> <a name="729"><span class="lineNum"> 729 </span> : : {</a> <a name="730"><span class="lineNum"> 730 </span> : : const struct HDIF_child_ptr *ioslot_arr;</a> <a name="731"><span class="lineNum"> 731 </span> : : const struct HDIF_array_hdr *entry_arr;</a> @@ -804,8 +804,8 @@ <a name="733"><span class="lineNum"> 733 </span> : : const struct slot_map_entry *entry;</a> <a name="734"><span class="lineNum"> 734 </span> : : unsigned int i, count;</a> <a name="735"><span class="lineNum"> 735 </span> : : </a> -<a name="736"><span class="lineNum"> 736 </span> :<span class="lineCov"> 6 : if (be16_to_cpu(sp_iohubs->child_count) <= CECHUB_CHILD_IOSLOTS)</span></a> -<a name="737"><span class="lineNum"> 737 </span> :<span class="lineCov"> 6 : return;</span></a> +<a name="736"><span class="lineNum"> 736 </span> :<span class="lineCov"> 2 : if (be16_to_cpu(sp_iohubs->child_count) <= CECHUB_CHILD_IOSLOTS)</span></a> +<a name="737"><span class="lineNum"> 737 </span> :<span class="lineCov"> 2 : return;</span></a> <a name="738"><span class="lineNum"> 738 </span> : : </a> <a name="739"><span class="lineNum"> 739 </span> :<span class="lineNoCov"> 0 : ioslot_arr = HDIF_child_arr(sp_iohubs, CECHUB_CHILD_IOSLOTS);</span></a> <a name="740"><span class="lineNum"> 740 </span> :<span class="lineNoCov"> 0 : if (!ioslot_arr)</span></a> @@ -835,36 +835,36 @@ <a name="764"><span class="lineNum"> 764 </span> : : }</a> <a name="765"><span class="lineNum"> 765 </span> : : }</a> <a name="766"><span class="lineNum"> 766 </span> : : </a> -<a name="767"><span class="lineNum"> 767 </span> :<span class="lineCov"> 3 : static void io_parse_fru(const void *sp_iohubs)</span></a> +<a name="767"><span class="lineNum"> 767 </span> :<span class="lineCov"> 1 : static void io_parse_fru(const void *sp_iohubs)</span></a> <a name="768"><span class="lineNum"> 768 </span> : : {</a> <a name="769"><span class="lineNum"> 769 </span> : : unsigned int i;</a> <a name="770"><span class="lineNum"> 770 </span> : : int count;</a> <a name="771"><span class="lineNum"> 771 </span> : : </a> -<a name="772"><span class="lineNum"> 772 </span> :<span class="lineCov"> 3 : count = HDIF_get_iarray_size(sp_iohubs, CECHUB_FRU_IO_HUBS);</span></a> -<a name="773"><span class="lineNum"> 773 </span> :<span class="lineCov"> 3 : if (count < 1) {</span></a> +<a name="772"><span class="lineNum"> 772 </span> :<span class="lineCov"> 1 : count = HDIF_get_iarray_size(sp_iohubs, CECHUB_FRU_IO_HUBS);</span></a> +<a name="773"><span class="lineNum"> 773 </span> :<span class="lineCov"> 1 : if (count < 1) {</span></a> <a name="774"><span class="lineNum"> 774 </span> :<span class="lineNoCov"> 0 : prerror("CEC: IO FRU with no chips !\n");</span></a> <a name="775"><span class="lineNum"> 775 </span> :<span class="lineNoCov"> 0 : return;</span></a> <a name="776"><span class="lineNum"> 776 </span> : : }</a> <a name="777"><span class="lineNum"> 777 </span> : : </a> -<a name="778"><span class="lineNum"> 778 </span> :<span class="lineCov"> 3 : prlog(PR_INFO, "CEC: %d chips in FRU\n", count);</span></a> +<a name="778"><span class="lineNum"> 778 </span> :<span class="lineCov"> 1 : prlog(PR_INFO, "CEC: %d chips in FRU\n", count);</span></a> <a name="779"><span class="lineNum"> 779 </span> : : </a> <a name="780"><span class="lineNum"> 780 </span> : : /* Iterate IO hub array */</a> -<a name="781"><span class="lineNum"> 781 </span> :<span class="lineCov"> 9 : for (i = 0; i < count; i++) {</span></a> +<a name="781"><span class="lineNum"> 781 </span> :<span class="lineCov"> 3 : for (i = 0; i < count; i++) {</span></a> <a name="782"><span class="lineNum"> 782 </span> : : const struct cechub_io_hub *hub;</a> <a name="783"><span class="lineNum"> 783 </span> : : unsigned int size, hub_id;</a> <a name="784"><span class="lineNum"> 784 </span> : : uint32_t chip_id;</a> <a name="785"><span class="lineNum"> 785 </span> : : </a> -<a name="786"><span class="lineNum"> 786 </span> :<span class="lineCov"> 6 : hub = HDIF_get_iarray_item(sp_iohubs, CECHUB_FRU_IO_HUBS,</span></a> +<a name="786"><span class="lineNum"> 786 </span> :<span class="lineCov"> 2 : hub = HDIF_get_iarray_item(sp_iohubs, CECHUB_FRU_IO_HUBS,</span></a> <a name="787"><span class="lineNum"> 787 </span> : : i, &size);</a> -<a name="788"><span class="lineNum"> 788 </span> :<span class="lineCov"> 6 : if (!hub || size < CECHUB_IOHUB_MIN_SIZE) {</span></a> +<a name="788"><span class="lineNum"> 788 </span> :<span class="lineCov"> 2 : if (!hub || size < CECHUB_IOHUB_MIN_SIZE) {</span></a> <a name="789"><span class="lineNum"> 789 </span> :<span class="lineNoCov"> 0 : prerror("CEC: IO-HUB Chip %d bad idata\n", i);</span></a> <a name="790"><span class="lineNum"> 790 </span> :<span class="lineNoCov"> 0 : continue;</span></a> <a name="791"><span class="lineNum"> 791 </span> : : }</a> <a name="792"><span class="lineNum"> 792 </span> : : </a> -<a name="793"><span class="lineNum"> 793 </span> :<span class="lineCov"> 6 : switch (hub->flags & CECHUB_HUB_FLAG_STATE_MASK) {</span></a> -<a name="794"><span class="lineNum"> 794 </span> :<span class="lineCov"> 6 : case CECHUB_HUB_FLAG_STATE_OK:</span></a> -<a name="795"><span class="lineNum"> 795 </span> :<span class="lineCov"> 6 : prlog(PR_DEBUG, "CEC: IO Hub Chip #%d OK\n", i);</span></a> -<a name="796"><span class="lineNum"> 796 </span> :<span class="lineCov"> 6 : break;</span></a> +<a name="793"><span class="lineNum"> 793 </span> :<span class="lineCov"> 2 : switch (hub->flags & CECHUB_HUB_FLAG_STATE_MASK) {</span></a> +<a name="794"><span class="lineNum"> 794 </span> :<span class="lineCov"> 2 : case CECHUB_HUB_FLAG_STATE_OK:</span></a> +<a name="795"><span class="lineNum"> 795 </span> :<span class="lineCov"> 2 : prlog(PR_DEBUG, "CEC: IO Hub Chip #%d OK\n", i);</span></a> +<a name="796"><span class="lineNum"> 796 </span> :<span class="lineCov"> 2 : break;</span></a> <a name="797"><span class="lineNum"> 797 </span> :<span class="lineNoCov"> 0 : case CECHUB_HUB_FLAG_STATE_FAILURES:</span></a> <a name="798"><span class="lineNum"> 798 </span> :<span class="lineNoCov"> 0 : prlog(PR_WARNING, "CEC: IO Hub Chip #%d OK"</span></a> <a name="799"><span class="lineNum"> 799 </span> : : " with failures\n", i);</a> @@ -878,20 +878,20 @@ <a name="807"><span class="lineNum"> 807 </span> :<span class="lineNoCov"> 0 : continue;</span></a> <a name="808"><span class="lineNum"> 808 </span> : : }</a> <a name="809"><span class="lineNum"> 809 </span> : : </a> -<a name="810"><span class="lineNum"> 810 </span> :<span class="lineCov"> 6 : hub_id = be16_to_cpu(hub->iohub_id);</span></a> +<a name="810"><span class="lineNum"> 810 </span> :<span class="lineCov"> 2 : hub_id = be16_to_cpu(hub->iohub_id);</span></a> <a name="811"><span class="lineNum"> 811 </span> : : </a> <a name="812"><span class="lineNum"> 812 </span> : : /* GX BAR assignment */</a> -<a name="813"><span class="lineNum"> 813 </span> :<span class="lineCov"> 6 : prlog(PR_DEBUG, "CEC: PChip: %d HUB ID: %04x [EC=0x%x]"</span></a> +<a name="813"><span class="lineNum"> 813 </span> :<span class="lineCov"> 2 : prlog(PR_DEBUG, "CEC: PChip: %d HUB ID: %04x [EC=0x%x]"</span></a> <a name="814"><span class="lineNum"> 814 </span> : : " Hub#=%d)\n",</a> <a name="815"><span class="lineNum"> 815 </span> : : be32_to_cpu(hub->proc_chip_id), hub_id,</a> <a name="816"><span class="lineNum"> 816 </span> : : be32_to_cpu(hub->ec_level), be16_to_cpu(hub->hub_num));</a> <a name="817"><span class="lineNum"> 817 </span> : : </a> -<a name="818"><span class="lineNum"> 818 </span> :<span class="lineCov"> 6 : switch(hub_id) {</span></a> -<a name="819"><span class="lineNum"> 819 </span> :<span class="lineCov"> 6 : case CECHUB_HUB_MURANO:</span></a> +<a name="818"><span class="lineNum"> 818 </span> :<span class="lineCov"> 2 : switch(hub_id) {</span></a> +<a name="819"><span class="lineNum"> 819 </span> :<span class="lineCov"> 2 : case CECHUB_HUB_MURANO:</span></a> <a name="820"><span class="lineNum"> 820 </span> : : case CECHUB_HUB_MURANO_SEGU:</a> -<a name="821"><span class="lineNum"> 821 </span> :<span class="lineCov"> 6 : prlog(PR_INFO, "CEC: Murano !\n");</span></a> -<a name="822"><span class="lineNum"> 822 </span> :<span class="lineCov"> 6 : io_add_p8(hub, sp_iohubs);</span></a> -<a name="823"><span class="lineNum"> 823 </span> :<span class="lineCov"> 6 : break;</span></a> +<a name="821"><span class="lineNum"> 821 </span> :<span class="lineCov"> 2 : prlog(PR_INFO, "CEC: Murano !\n");</span></a> +<a name="822"><span class="lineNum"> 822 </span> :<span class="lineCov"> 2 : io_add_p8(hub, sp_iohubs);</span></a> +<a name="823"><span class="lineNum"> 823 </span> :<span class="lineCov"> 2 : break;</span></a> <a name="824"><span class="lineNum"> 824 </span> :<span class="lineNoCov"> 0 : case CECHUB_HUB_VENICE_WYATT:</span></a> <a name="825"><span class="lineNum"> 825 </span> :<span class="lineNoCov"> 0 : prlog(PR_INFO, "CEC: Venice !\n");</span></a> <a name="826"><span class="lineNum"> 826 </span> :<span class="lineNoCov"> 0 : io_add_p8(hub, sp_iohubs);</span></a> @@ -923,23 +923,23 @@ <a name="852"><span class="lineNum"> 852 </span> : : hub_id);</a> <a name="853"><span class="lineNum"> 853 </span> : : }</a> <a name="854"><span class="lineNum"> 854 </span> : : </a> -<a name="855"><span class="lineNum"> 855 </span> :<span class="lineCov"> 6 : chip_id = pcid_to_chip_id(be32_to_cpu(hub->proc_chip_id));</span></a> +<a name="855"><span class="lineNum"> 855 </span> :<span class="lineCov"> 2 : chip_id = pcid_to_chip_id(be32_to_cpu(hub->proc_chip_id));</span></a> <a name="856"><span class="lineNum"> 856 </span> : : </a> <a name="857"><span class="lineNum"> 857 </span> : : /* parse the slot map if we have one */</a> -<a name="858"><span class="lineNum"> 858 </span> :<span class="lineCov"> 6 : io_parse_slots(sp_iohubs, chip_id);</span></a> +<a name="858"><span class="lineNum"> 858 </span> :<span class="lineCov"> 2 : io_parse_slots(sp_iohubs, chip_id);</span></a> <a name="859"><span class="lineNum"> 859 </span> : : }</a> <a name="860"><span class="lineNum"> 860 </span> : : </a> -<a name="861"><span class="lineNum"> 861 </span> :<span class="lineCov"> 3 : if (proc_gen == proc_gen_p8 || proc_gen == proc_gen_p9 || proc_gen == proc_gen_p10)</span></a> -<a name="862"><span class="lineNum"> 862 </span> :<span class="lineCov"> 3 : io_add_p8_cec_vpd(sp_iohubs);</span></a> +<a name="861"><span class="lineNum"> 861 </span> :<span class="lineCov"> 1 : if (proc_gen == proc_gen_p8 || proc_gen == proc_gen_p9 || proc_gen == proc_gen_p10)</span></a> +<a name="862"><span class="lineNum"> 862 </span> :<span class="lineCov"> 1 : io_add_p8_cec_vpd(sp_iohubs);</span></a> <a name="863"><span class="lineNum"> 863 </span> : : }</a> <a name="864"><span class="lineNum"> 864 </span> : : </a> -<a name="865"><span class="lineNum"> 865 </span> :<span class="lineCov"> 2 : void io_parse(void)</span></a> +<a name="865"><span class="lineNum"> 865 </span> :<span class="lineCov"> 1 : void io_parse(void)</span></a> <a name="866"><span class="lineNum"> 866 </span> : : {</a> <a name="867"><span class="lineNum"> 867 </span> : : const struct HDIF_common_hdr *sp_iohubs;</a> <a name="868"><span class="lineNum"> 868 </span> : : unsigned int i, size;</a> <a name="869"><span class="lineNum"> 869 </span> : : </a> <a name="870"><span class="lineNum"> 870 </span> : : /* Look for IO Hubs */</a> -<a name="871"><span class="lineNum"> 871 </span> :<span class="lineCov"> 2 : if (!get_hdif(&spira.ntuples.cec_iohub_fru, "IO HUB")) {</span></a> +<a name="871"><span class="lineNum"> 871 </span> :<span class="lineCov"> 1 : if (!get_hdif(&spiras->ntuples.cec_iohub_fru, "IO HUB")) {</span></a> <a name="872"><span class="lineNum"> 872 </span> :<span class="lineNoCov"> 0 : prerror("CEC: Cannot locate IO Hub FRU data !\n");</span></a> <a name="873"><span class="lineNum"> 873 </span> :<span class="lineNoCov"> 0 : return;</span></a> <a name="874"><span class="lineNum"> 874 </span> : : }</a> @@ -952,7 +952,7 @@ <a name="881"><span class="lineNum"> 881 </span> : : * increment it for each chip. Works for the machines I have here</a> <a name="882"><span class="lineNum"> 882 </span> : : */</a> <a name="883"><span class="lineNum"> 883 </span> : : </a> -<a name="884"><span class="lineNum"> 884 </span> :<span class="lineCov"> 5 : for_each_ntuple_idx(&spira.ntuples.cec_iohub_fru, sp_iohubs, i,</span></a> +<a name="884"><span class="lineNum"> 884 </span> :<span class="lineCov"> 2 : for_each_ntuple_idx(&spiras->ntuples.cec_iohub_fru, sp_iohubs, i,</span></a> <a name="885"><span class="lineNum"> 885 </span> : : CECHUB_FRU_HDIF_SIG) {</a> <a name="886"><span class="lineNum"> 886 </span> : : const struct cechub_hub_fru_id *fru_id_data;</a> <a name="887"><span class="lineNum"> 887 </span> : : unsigned int type;</a> @@ -963,36 +963,36 @@ <a name="892"><span class="lineNum"> 892 </span> : : "Backplane",</a> <a name="893"><span class="lineNum"> 893 </span> : : "Backplane Extension"</a> <a name="894"><span class="lineNum"> 894 </span> : : };</a> -<a name="895"><span class="lineNum"> 895 </span> :<span class="lineCov"> 3 : fru_id_data = HDIF_get_idata(sp_iohubs, CECHUB_FRU_ID_DATA_AREA,</span></a> +<a name="895"><span class="lineNum"> 895 </span> :<span class="lineCov"> 1 : fru_id_data = HDIF_get_idata(sp_iohubs, CECHUB_FRU_ID_DATA_AREA,</span></a> <a name="896"><span class="lineNum"> 896 </span> : : &size);</a> -<a name="897"><span class="lineNum"> 897 </span> :<span class="lineCov"> 3 : if (!fru_id_data || size < sizeof(struct cechub_hub_fru_id)) {</span></a> +<a name="897"><span class="lineNum"> 897 </span> :<span class="lineCov"> 1 : if (!fru_id_data || size < sizeof(struct cechub_hub_fru_id)) {</span></a> <a name="898"><span class="lineNum"> 898 </span> :<span class="lineNoCov"> 0 : prerror("CEC: IO-HUB FRU %d, bad ID data\n", i);</span></a> <a name="899"><span class="lineNum"> 899 </span> :<span class="lineNoCov"> 0 : continue;</span></a> <a name="900"><span class="lineNum"> 900 </span> : : }</a> -<a name="901"><span class="lineNum"> 901 </span> :<span class="lineCov"> 3 : type = be32_to_cpu(fru_id_data->card_type);</span></a> +<a name="901"><span class="lineNum"> 901 </span> :<span class="lineCov"> 1 : type = be32_to_cpu(fru_id_data->card_type);</span></a> <a name="902"><span class="lineNum"> 902 </span> : : </a> -<a name="903"><span class="lineNum"> 903 </span> :<span class="lineCov"> 3 : prlog(PR_INFO, "CEC: HUB FRU %d is %s\n",</span></a> +<a name="903"><span class="lineNum"> 903 </span> :<span class="lineCov"> 1 : prlog(PR_INFO, "CEC: HUB FRU %d is %s\n",</span></a> <a name="904"><span class="lineNum"> 904 </span> : : i, type > 4 ? "Unknown" : typestr[type]);</a> <a name="905"><span class="lineNum"> 905 </span> : : </a> <a name="906"><span class="lineNum"> 906 </span> : : /*</a> <a name="907"><span class="lineNum"> 907 </span> : : * We currently only handle the backplane (Juno) and</a> <a name="908"><span class="lineNum"> 908 </span> : : * processor FRU (P8 machines)</a> <a name="909"><span class="lineNum"> 909 </span> : : */</a> -<a name="910"><span class="lineNum"> 910 </span> :<span class="lineCov"> 3 : if (type != CECHUB_FRU_TYPE_CEC_BKPLANE &&</span></a> +<a name="910"><span class="lineNum"> 910 </span> :<span class="lineCov"> 1 : if (type != CECHUB_FRU_TYPE_CEC_BKPLANE &&</span></a> <a name="911"><span class="lineNum"> 911 </span> : : type != CECHUB_FRU_TYPE_CPU_CARD) {</a> <a name="912"><span class="lineNum"> 912 </span> :<span class="lineNoCov"> 0 : prerror("CEC: Unsupported type\n");</span></a> <a name="913"><span class="lineNum"> 913 </span> :<span class="lineNoCov"> 0 : continue;</span></a> <a name="914"><span class="lineNum"> 914 </span> : : }</a> <a name="915"><span class="lineNum"> 915 </span> : : </a> <a name="916"><span class="lineNum"> 916 </span> : : /* We don't support Hubs connected to pass-through ports */</a> -<a name="917"><span class="lineNum"> 917 </span> :<span class="lineCov"> 3 : if (fru_id_data->flags & (CECHUB_FRU_FLAG_HEADLESS |</span></a> +<a name="917"><span class="lineNum"> 917 </span> :<span class="lineCov"> 1 : if (fru_id_data->flags & (CECHUB_FRU_FLAG_HEADLESS |</span></a> <a name="918"><span class="lineNum"> 918 </span> : : CECHUB_FRU_FLAG_PASSTHROUGH)) {</a> <a name="919"><span class="lineNum"> 919 </span> :<span class="lineNoCov"> 0 : prerror("CEC: Headless or Passthrough unsupported\n");</span></a> <a name="920"><span class="lineNum"> 920 </span> :<span class="lineNoCov"> 0 : continue;</span></a> <a name="921"><span class="lineNum"> 921 </span> : : }</a> <a name="922"><span class="lineNum"> 922 </span> : : </a> <a name="923"><span class="lineNum"> 923 </span> : : /* Ok, we have a reasonable candidate */</a> -<a name="924"><span class="lineNum"> 924 </span> :<span class="lineCov"> 3 : io_parse_fru(sp_iohubs);</span></a> +<a name="924"><span class="lineNum"> 924 </span> :<span class="lineCov"> 1 : io_parse_fru(sp_iohubs);</span></a> <a name="925"><span class="lineNum"> 925 </span> : : }</a> <a name="926"><span class="lineNum"> 926 </span> : : }</a> <a name="927"><span class="lineNum"> 927 </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 4533b36..9f60687 100644 --- a/coverage-report/hdata/memory.c.func-sort-c.html +++ b/coverage-report/hdata/memory.c.func-sort-c.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">13</td> @@ -94,55 +94,55 @@ </tr> <tr> <td class="coverFn"><a href="memory.c.gcov.html#891">__memory_parse</a></td> - <td class="coverFnHi">2</td> + <td class="coverFnHi">1</td> + </tr> + <tr> + <td class="coverFn"><a href="memory.c.gcov.html#97">append_chip_id</a></td> + <td class="coverFnHi">1</td> </tr> <tr> <td class="coverFn"><a href="memory.c.gcov.html#751">get_hb_reserved_mem</a></td> - <td class="coverFnHi">2</td> + <td class="coverFnHi">1</td> </tr> <tr> <td class="coverFn"><a href="memory.c.gcov.html#607">get_msareas</a></td> - <td class="coverFnHi">2</td> + <td class="coverFnHi">1</td> </tr> <tr> <td class="coverFn"><a href="memory.c.gcov.html#950">memory_parse</a></td> - <td class="coverFnHi">2</td> + <td class="coverFnHi">1</td> </tr> <tr> <td class="coverFn"><a href="memory.c.gcov.html#838">parse_trace_reservations</a></td> - <td class="coverFnHi">2</td> - </tr> - <tr> - <td class="coverFn"><a href="memory.c.gcov.html#97">append_chip_id</a></td> - <td class="coverFnHi">3</td> + <td class="coverFnHi">1</td> </tr> <tr> <td class="coverFn"><a href="memory.c.gcov.html#140">add_address_range</a></td> - <td class="coverFnHi">6</td> + <td class="coverFnHi">2</td> </tr> <tr> <td class="coverFn"><a href="memory.c.gcov.html#229">add_bus_freq_to_ram_area</a></td> - <td class="coverFnHi">6</td> + <td class="coverFnHi">2</td> </tr> <tr> <td class="coverFn"><a href="memory.c.gcov.html#212">add_chip_id_to_ram_area</a></td> - <td class="coverFnHi">6</td> + <td class="coverFnHi">2</td> </tr> <tr> <td class="coverFn"><a href="memory.c.gcov.html#508">add_memory_buffer_mmio</a></td> - <td class="coverFnHi">6</td> + <td class="coverFnHi">2</td> </tr> <tr> <td class="coverFn"><a href="memory.c.gcov.html#590">add_memory_controller</a></td> - <td class="coverFnHi">6</td> + <td class="coverFnHi">2</td> </tr> <tr> <td class="coverFn"><a href="memory.c.gcov.html#279">add_size_to_ram_area</a></td> - <td class="coverFnHi">6</td> + <td class="coverFnHi">2</td> </tr> <tr> <td class="coverFn"><a href="memory.c.gcov.html#295">vpd_add_ram_area</a></td> - <td class="coverFnHi">6</td> + <td class="coverFnHi">2</td> </tr> </table> <br> diff --git a/coverage-report/hdata/memory.c.func.html b/coverage-report/hdata/memory.c.func.html index 3c6ae76..9adeacb 100644 --- a/coverage-report/hdata/memory.c.func.html +++ b/coverage-report/hdata/memory.c.func.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">13</td> @@ -70,19 +70,19 @@ </tr> <tr> <td class="coverFn"><a href="memory.c.gcov.html#891">__memory_parse</a></td> - <td class="coverFnHi">2</td> + <td class="coverFnHi">1</td> </tr> <tr> <td class="coverFn"><a href="memory.c.gcov.html#140">add_address_range</a></td> - <td class="coverFnHi">6</td> + <td class="coverFnHi">2</td> </tr> <tr> <td class="coverFn"><a href="memory.c.gcov.html#229">add_bus_freq_to_ram_area</a></td> - <td class="coverFnHi">6</td> + <td class="coverFnHi">2</td> </tr> <tr> <td class="coverFn"><a href="memory.c.gcov.html#212">add_chip_id_to_ram_area</a></td> - <td class="coverFnHi">6</td> + <td class="coverFnHi">2</td> </tr> <tr> <td class="coverFn"><a href="memory.c.gcov.html#390">add_dimm_info</a></td> @@ -94,11 +94,11 @@ </tr> <tr> <td class="coverFn"><a href="memory.c.gcov.html#508">add_memory_buffer_mmio</a></td> - <td class="coverFnHi">6</td> + <td class="coverFnHi">2</td> </tr> <tr> <td class="coverFn"><a href="memory.c.gcov.html#590">add_memory_controller</a></td> - <td class="coverFnHi">6</td> + <td class="coverFnHi">2</td> </tr> <tr> <td class="coverFn"><a href="memory.c.gcov.html#463">add_memory_controller_p9n</a></td> @@ -106,11 +106,11 @@ </tr> <tr> <td class="coverFn"><a href="memory.c.gcov.html#279">add_size_to_ram_area</a></td> - <td class="coverFnHi">6</td> + <td class="coverFnHi">2</td> </tr> <tr> <td class="coverFn"><a href="memory.c.gcov.html#97">append_chip_id</a></td> - <td class="coverFnHi">3</td> + <td class="coverFnHi">1</td> </tr> <tr> <td class="coverFn"><a href="memory.c.gcov.html#456">dt_add_mem_reg_property</a></td> @@ -118,19 +118,19 @@ </tr> <tr> <td class="coverFn"><a href="memory.c.gcov.html#751">get_hb_reserved_mem</a></td> - <td class="coverFnHi">2</td> + <td class="coverFnHi">1</td> </tr> <tr> <td class="coverFn"><a href="memory.c.gcov.html#607">get_msareas</a></td> - <td class="coverFnHi">2</td> + <td class="coverFnHi">1</td> </tr> <tr> <td class="coverFn"><a href="memory.c.gcov.html#950">memory_parse</a></td> - <td class="coverFnHi">2</td> + <td class="coverFnHi">1</td> </tr> <tr> <td class="coverFn"><a href="memory.c.gcov.html#838">parse_trace_reservations</a></td> - <td class="coverFnHi">2</td> + <td class="coverFnHi">1</td> </tr> <tr> <td class="coverFn"><a href="memory.c.gcov.html#118">update_status</a></td> @@ -138,7 +138,7 @@ </tr> <tr> <td class="coverFn"><a href="memory.c.gcov.html#295">vpd_add_ram_area</a></td> - <td class="coverFnHi">6</td> + <td class="coverFnHi">2</td> </tr> <tr> <td class="coverFn"><a href="memory.c.gcov.html#351">vpd_parse_spd</a></td> diff --git a/coverage-report/hdata/memory.c.gcov.html b/coverage-report/hdata/memory.c.gcov.html index bd58150..4c7a683 100644 --- a/coverage-report/hdata/memory.c.gcov.html +++ b/coverage-report/hdata/memory.c.gcov.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">13</td> @@ -167,20 +167,20 @@ <a name="96"><span class="lineNum"> 96 </span> : : __be64 flags;</a> <a name="97"><span class="lineNum"> 97 </span> : : } __packed;</a> <a name="98"><span class="lineNum"> 98 </span> : : </a> -<a name="99"><span class="lineNum"> 99 </span> :<span class="lineCov"> 3 : static void append_chip_id(struct dt_node *mem, u32 id)</span></a> +<a name="99"><span class="lineNum"> 99 </span> :<span class="lineCov"> 1 : static void append_chip_id(struct dt_node *mem, u32 id)</span></a> <a name="100"><span class="lineNum"> 100 </span> : : {</a> <a name="101"><span class="lineNum"> 101 </span> : : struct dt_property *prop;</a> <a name="102"><span class="lineNum"> 102 </span> : : size_t len, i;</a> <a name="103"><span class="lineNum"> 103 </span> : : </a> -<a name="104"><span class="lineNum"> 104 </span> :<span class="lineCov"> 3 : prop = __dt_find_property(mem, "ibm,chip-id");</span></a> -<a name="105"><span class="lineNum"> 105 </span> :<span class="lineCov"> 3 : if (!prop)</span></a> -<a name="106"><span class="lineNum"> 106 </span> :<span class="lineCov"> 3 : return;</span></a> -<a name="107"><span class="lineNum"> 107 </span> :<span class="lineCov"> 3 : len = prop->len >> 2;</span></a> +<a name="104"><span class="lineNum"> 104 </span> :<span class="lineCov"> 1 : prop = __dt_find_property(mem, "ibm,chip-id");</span></a> +<a name="105"><span class="lineNum"> 105 </span> :<span class="lineCov"> 1 : if (!prop)</span></a> +<a name="106"><span class="lineNum"> 106 </span> :<span class="lineCov"> 1 : return;</span></a> +<a name="107"><span class="lineNum"> 107 </span> :<span class="lineCov"> 1 : len = prop->len >> 2;</span></a> <a name="108"><span class="lineNum"> 108 </span> : : </a> <a name="109"><span class="lineNum"> 109 </span> : : /* Check if it exists already */</a> -<a name="110"><span class="lineNum"> 110 </span> :<span class="lineCov"> 3 : for (i = 0; i < len; i++) {</span></a> -<a name="111"><span class="lineNum"> 111 </span> :<span class="lineCov"> 3 : if (dt_property_get_cell(prop, i) == id)</span></a> -<a name="112"><span class="lineNum"> 112 </span> :<span class="lineCov"> 3 : return;</span></a> +<a name="110"><span class="lineNum"> 110 </span> :<span class="lineCov"> 1 : for (i = 0; i < len; i++) {</span></a> +<a name="111"><span class="lineNum"> 111 </span> :<span class="lineCov"> 1 : if (dt_property_get_cell(prop, i) == id)</span></a> +<a name="112"><span class="lineNum"> 112 </span> :<span class="lineCov"> 1 : return;</span></a> <a name="113"><span class="lineNum"> 113 </span> : : }</a> <a name="114"><span class="lineNum"> 114 </span> : : </a> <a name="115"><span class="lineNum"> 115 </span> : : /* Add it to the list */</a> @@ -210,19 +210,19 @@ <a name="139"><span class="lineNum"> 139 </span> : : }</a> <a name="140"><span class="lineNum"> 140 </span> :<span class="lineNoCov"> 0 : }</span></a> <a name="141"><span class="lineNum"> 141 </span> : : </a> -<a name="142"><span class="lineNum"> 142 </span> :<span class="lineCov"> 6 : static bool add_address_range(struct dt_node *root,</span></a> +<a name="142"><span class="lineNum"> 142 </span> :<span class="lineCov"> 2 : static bool add_address_range(struct dt_node *root,</span></a> <a name="143"><span class="lineNum"> 143 </span> : : const struct HDIF_ms_area_id *id,</a> <a name="144"><span class="lineNum"> 144 </span> : : const struct HDIF_ms_area_address_range *arange,</a> <a name="145"><span class="lineNum"> 145 </span> : : uint32_t mem_type, uint32_t mem_status)</a> <a name="146"><span class="lineNum"> 146 </span> : : {</a> -<a name="147"><span class="lineNum"> 147 </span> :<span class="lineCov"> 6 : const char *compat = NULL, *dev_type = NULL, *name = NULL;</span></a> +<a name="147"><span class="lineNum"> 147 </span> :<span class="lineCov"> 2 : const char *compat = NULL, *dev_type = NULL, *name = NULL;</span></a> <a name="148"><span class="lineNum"> 148 </span> : : struct dt_node *mem;</a> <a name="149"><span class="lineNum"> 149 </span> : : u32 chip_id;</a> <a name="150"><span class="lineNum"> 150 </span> : : u64 reg[2];</a> <a name="151"><span class="lineNum"> 151 </span> : : </a> -<a name="152"><span class="lineNum"> 152 </span> :<span class="lineCov"> 6 : chip_id = pcid_to_chip_id(be32_to_cpu(arange->chip));</span></a> +<a name="152"><span class="lineNum"> 152 </span> :<span class="lineCov"> 2 : chip_id = pcid_to_chip_id(be32_to_cpu(arange->chip));</span></a> <a name="153"><span class="lineNum"> 153 </span> : : </a> -<a name="154"><span class="lineNum"> 154 </span> :<span class="lineCov"> 6 : prlog(PR_DEBUG, " Range: 0x%016llx..0x%016llx "</span></a> +<a name="154"><span class="lineNum"> 154 </span> :<span class="lineCov"> 2 : prlog(PR_DEBUG, " Range: 0x%016llx..0x%016llx "</span></a> <a name="155"><span class="lineNum"> 155 </span> : : "on Chip 0x%x mattr: 0x%x pattr: 0x%x status:0x%x\n",</a> <a name="156"><span class="lineNum"> 156 </span> : : (long long)be64_to_cpu(arange->start),</a> <a name="157"><span class="lineNum"> 157 </span> : : (long long)be64_to_cpu(arange->end),</a> @@ -230,14 +230,14 @@ <a name="159"><span class="lineNum"> 159 </span> : : mem_type, mem_status);</a> <a name="160"><span class="lineNum"> 160 </span> : : </a> <a name="161"><span class="lineNum"> 161 </span> : : /* reg contains start and length */</a> -<a name="162"><span class="lineNum"> 162 </span> :<span class="lineCov"> 6 : reg[0] = cleanup_addr(be64_to_cpu(arange->start));</span></a> -<a name="163"><span class="lineNum"> 163 </span> :<span class="lineCov"> 6 : reg[1] = cleanup_addr(be64_to_cpu(arange->end)) - reg[0];</span></a> +<a name="162"><span class="lineNum"> 162 </span> :<span class="lineCov"> 2 : reg[0] = cleanup_addr(be64_to_cpu(arange->start));</span></a> +<a name="163"><span class="lineNum"> 163 </span> :<span class="lineCov"> 2 : reg[1] = cleanup_addr(be64_to_cpu(arange->end)) - reg[0];</span></a> <a name="164"><span class="lineNum"> 164 </span> : : </a> -<a name="165"><span class="lineNum"> 165 </span> :<span class="lineCov"> 6 : switch (mem_type) {</span></a> -<a name="166"><span class="lineNum"> 166 </span> :<span class="lineCov"> 6 : case PHYS_ATTR_TYPE_STD:</span></a> -<a name="167"><span class="lineNum"> 167 </span> :<span class="lineCov"> 6 : name = "memory";</span></a> -<a name="168"><span class="lineNum"> 168 </span> :<span class="lineCov"> 6 : dev_type = "memory";</span></a> -<a name="169"><span class="lineNum"> 169 </span> :<span class="lineCov"> 6 : break;</span></a> +<a name="165"><span class="lineNum"> 165 </span> :<span class="lineCov"> 2 : switch (mem_type) {</span></a> +<a name="166"><span class="lineNum"> 166 </span> :<span class="lineCov"> 2 : case PHYS_ATTR_TYPE_STD:</span></a> +<a name="167"><span class="lineNum"> 167 </span> :<span class="lineCov"> 2 : name = "memory";</span></a> +<a name="168"><span class="lineNum"> 168 </span> :<span class="lineCov"> 2 : dev_type = "memory";</span></a> +<a name="169"><span class="lineNum"> 169 </span> :<span class="lineCov"> 2 : break;</span></a> <a name="170"><span class="lineNum"> 170 </span> : : </a> <a name="171"><span class="lineNum"> 171 </span> :<span class="lineNoCov"> 0 : case PHYS_ATTR_TYPE_NVDIMM:</span></a> <a name="172"><span class="lineNum"> 172 </span> : : case PHYS_ATTR_TYPE_MRAM:</a> @@ -255,34 +255,34 @@ <a name="184"><span class="lineNum"> 184 </span> :<span class="lineNoCov"> 0 : return false;</span></a> <a name="185"><span class="lineNum"> 185 </span> : : }</a> <a name="186"><span class="lineNum"> 186 </span> : : </a> -<a name="187"><span class="lineNum"> 187 </span> :<span class="lineCov"> 6 : if (be16_to_cpu(id->flags) & MS_AREA_SHARED) {</span></a> -<a name="188"><span class="lineNum"> 188 </span> :<span class="lineCov"> 6 : mem = dt_find_by_name_addr(dt_root, name, reg[0]);</span></a> -<a name="189"><span class="lineNum"> 189 </span> :<span class="lineCov"> 6 : if (mem) {</span></a> -<a name="190"><span class="lineNum"> 190 </span> :<span class="lineCov"> 3 : append_chip_id(mem, chip_id);</span></a> -<a name="191"><span class="lineNum"> 191 </span> :<span class="lineCov"> 3 : if (mem_type == PHYS_ATTR_TYPE_NVDIMM)</span></a> +<a name="187"><span class="lineNum"> 187 </span> :<span class="lineCov"> 2 : if (be16_to_cpu(id->flags) & MS_AREA_SHARED) {</span></a> +<a name="188"><span class="lineNum"> 188 </span> :<span class="lineCov"> 2 : mem = dt_find_by_name_addr(dt_root, name, reg[0]);</span></a> +<a name="189"><span class="lineNum"> 189 </span> :<span class="lineCov"> 2 : if (mem) {</span></a> +<a name="190"><span class="lineNum"> 190 </span> :<span class="lineCov"> 1 : append_chip_id(mem, chip_id);</span></a> +<a name="191"><span class="lineNum"> 191 </span> :<span class="lineCov"> 1 : if (mem_type == PHYS_ATTR_TYPE_NVDIMM)</span></a> <a name="192"><span class="lineNum"> 192 </span> :<span class="lineNoCov"> 0 : update_status(mem, mem_status);</span></a> -<a name="193"><span class="lineNum"> 193 </span> :<span class="lineCov"> 3 : return true;</span></a> +<a name="193"><span class="lineNum"> 193 </span> :<span class="lineCov"> 1 : return true;</span></a> <a name="194"><span class="lineNum"> 194 </span> : : }</a> <a name="195"><span class="lineNum"> 195 </span> : : }</a> <a name="196"><span class="lineNum"> 196 </span> : : </a> -<a name="197"><span class="lineNum"> 197 </span> :<span class="lineCov"> 3 : mem = dt_new_addr(root, name, reg[0]);</span></a> -<a name="198"><span class="lineNum"> 198 </span> :<span class="lineCov"> 3 : if (compat)</span></a> +<a name="197"><span class="lineNum"> 197 </span> :<span class="lineCov"> 1 : mem = dt_new_addr(root, name, reg[0]);</span></a> +<a name="198"><span class="lineNum"> 198 </span> :<span class="lineCov"> 1 : if (compat)</span></a> <a name="199"><span class="lineNum"> 199 </span> :<span class="lineNoCov"> 0 : dt_add_property_string(mem, "compatible", compat);</span></a> -<a name="200"><span class="lineNum"> 200 </span> :<span class="lineCov"> 3 : if (dev_type)</span></a> -<a name="201"><span class="lineNum"> 201 </span> :<span class="lineCov"> 3 : dt_add_property_string(mem, "device_type", dev_type);</span></a> +<a name="200"><span class="lineNum"> 200 </span> :<span class="lineCov"> 1 : if (dev_type)</span></a> +<a name="201"><span class="lineNum"> 201 </span> :<span class="lineCov"> 1 : dt_add_property_string(mem, "device_type", dev_type);</span></a> <a name="202"><span class="lineNum"> 202 </span> : : </a> <a name="203"><span class="lineNum"> 203 </span> : : /* add in the nvdimm backup status flags */</a> -<a name="204"><span class="lineNum"> 204 </span> :<span class="lineCov"> 3 : if (mem_type == PHYS_ATTR_TYPE_NVDIMM)</span></a> +<a name="204"><span class="lineNum"> 204 </span> :<span class="lineCov"> 1 : if (mem_type == PHYS_ATTR_TYPE_NVDIMM)</span></a> <a name="205"><span class="lineNum"> 205 </span> :<span class="lineNoCov"> 0 : update_status(mem, mem_status);</span></a> <a name="206"><span class="lineNum"> 206 </span> : : </a> <a name="207"><span class="lineNum"> 207 </span> : : /* common properties */</a> <a name="208"><span class="lineNum"> 208 </span> : : </a> -<a name="209"><span class="lineNum"> 209 </span> :<span class="lineCov"> 3 : dt_add_property_u64s(mem, "reg", reg[0], reg[1]);</span></a> -<a name="210"><span class="lineNum"> 210 </span> :<span class="lineCov"> 3 : dt_add_property_cells(mem, "ibm,chip-id", chip_id);</span></a> -<a name="211"><span class="lineNum"> 211 </span> :<span class="lineCov"> 3 : return true;</span></a> +<a name="209"><span class="lineNum"> 209 </span> :<span class="lineCov"> 1 : dt_add_property_u64s(mem, "reg", reg[0], reg[1]);</span></a> +<a name="210"><span class="lineNum"> 210 </span> :<span class="lineCov"> 1 : dt_add_property_cells(mem, "ibm,chip-id", chip_id);</span></a> +<a name="211"><span class="lineNum"> 211 </span> :<span class="lineCov"> 1 : return true;</span></a> <a name="212"><span class="lineNum"> 212 </span> : : }</a> <a name="213"><span class="lineNum"> 213 </span> : : </a> -<a name="214"><span class="lineNum"> 214 </span> :<span class="lineCov"> 6 : static u32 add_chip_id_to_ram_area(const struct HDIF_common_hdr *msarea,</span></a> +<a name="214"><span class="lineNum"> 214 </span> :<span class="lineCov"> 2 : static u32 add_chip_id_to_ram_area(const struct HDIF_common_hdr *msarea,</span></a> <a name="215"><span class="lineNum"> 215 </span> : : struct dt_node *ram_area)</a> <a name="216"><span class="lineNum"> 216 </span> : : {</a> <a name="217"><span class="lineNum"> 217 </span> : : const struct HDIF_array_hdr *arr;</a> @@ -291,49 +291,49 @@ <a name="220"><span class="lineNum"> 220 </span> : : u32 chip_id;</a> <a name="221"><span class="lineNum"> 221 </span> : : </a> <a name="222"><span class="lineNum"> 222 </span> : : /* Safe to assume pointers are valid here. */</a> -<a name="223"><span class="lineNum"> 223 </span> :<span class="lineCov"> 6 : arr = HDIF_get_idata(msarea, 4, &size);</span></a> -<a name="224"><span class="lineNum"> 224 </span> :<span class="lineCov"> 6 : arange = (void *)arr + be32_to_cpu(arr->offset);</span></a> -<a name="225"><span class="lineNum"> 225 </span> :<span class="lineCov"> 6 : chip_id = pcid_to_chip_id(be32_to_cpu(arange->chip));</span></a> -<a name="226"><span class="lineNum"> 226 </span> :<span class="lineCov"> 6 : dt_add_property_cells(ram_area, "ibm,chip-id", chip_id);</span></a> +<a name="223"><span class="lineNum"> 223 </span> :<span class="lineCov"> 2 : arr = HDIF_get_idata(msarea, 4, &size);</span></a> +<a name="224"><span class="lineNum"> 224 </span> :<span class="lineCov"> 2 : arange = (void *)arr + be32_to_cpu(arr->offset);</span></a> +<a name="225"><span class="lineNum"> 225 </span> :<span class="lineCov"> 2 : chip_id = pcid_to_chip_id(be32_to_cpu(arange->chip));</span></a> +<a name="226"><span class="lineNum"> 226 </span> :<span class="lineCov"> 2 : dt_add_property_cells(ram_area, "ibm,chip-id", chip_id);</span></a> <a name="227"><span class="lineNum"> 227 </span> : : </a> -<a name="228"><span class="lineNum"> 228 </span> :<span class="lineCov"> 6 : return chip_id;</span></a> +<a name="228"><span class="lineNum"> 228 </span> :<span class="lineCov"> 2 : return chip_id;</span></a> <a name="229"><span class="lineNum"> 229 </span> : : }</a> <a name="230"><span class="lineNum"> 230 </span> : : </a> -<a name="231"><span class="lineNum"> 231 </span> :<span class="lineCov"> 6 : static void add_bus_freq_to_ram_area(struct dt_node *ram_node, u32 chip_id)</span></a> +<a name="231"><span class="lineNum"> 231 </span> :<span class="lineCov"> 2 : static void add_bus_freq_to_ram_area(struct dt_node *ram_node, u32 chip_id)</span></a> <a name="232"><span class="lineNum"> 232 </span> : : {</a> <a name="233"><span class="lineNum"> 233 </span> : : const struct sppcia_cpu_timebase *timebase;</a> -<a name="234"><span class="lineNum"> 234 </span> :<span class="lineCov"> 6 : bool got_pcia = false;</span></a> +<a name="234"><span class="lineNum"> 234 </span> :<span class="lineCov"> 2 : bool got_pcia = false;</span></a> <a name="235"><span class="lineNum"> 235 </span> : : const void *pcia;</a> <a name="236"><span class="lineNum"> 236 </span> : : u64 freq;</a> <a name="237"><span class="lineNum"> 237 </span> : : u32 size;</a> <a name="238"><span class="lineNum"> 238 </span> : : </a> -<a name="239"><span class="lineNum"> 239 </span> :<span class="lineCov"> 6 : pcia = get_hdif(&spira.ntuples.pcia, SPPCIA_HDIF_SIG);</span></a> -<a name="240"><span class="lineNum"> 240 </span> :<span class="lineCov"> 6 : if (!pcia) {</span></a> +<a name="239"><span class="lineNum"> 239 </span> :<span class="lineCov"> 2 : pcia = get_hdif(&spiras->ntuples.pcia, SPPCIA_HDIF_SIG);</span></a> +<a name="240"><span class="lineNum"> 240 </span> :<span class="lineCov"> 2 : if (!pcia) {</span></a> <a name="241"><span class="lineNum"> 241 </span> :<span class="lineNoCov"> 0 : prlog(PR_WARNING, "HDAT: Failed to add memory bus frequency "</span></a> <a name="242"><span class="lineNum"> 242 </span> : : "as PCIA does not exist\n");</a> <a name="243"><span class="lineNum"> 243 </span> :<span class="lineNoCov"> 0 : return;</span></a> <a name="244"><span class="lineNum"> 244 </span> : : }</a> <a name="245"><span class="lineNum"> 245 </span> : : </a> -<a name="246"><span class="lineNum"> 246 </span> :<span class="lineCov"> 26 : for_each_pcia(pcia) {</span></a> +<a name="246"><span class="lineNum"> 246 </span> :<span class="lineCov"> 2 : for_each_pcia(spiras, pcia) {</span></a> <a name="247"><span class="lineNum"> 247 </span> : : const struct sppcia_core_unique *id;</a> <a name="248"><span class="lineNum"> 248 </span> : : </a> -<a name="249"><span class="lineNum"> 249 </span> :<span class="lineCov"> 26 : id = HDIF_get_idata(pcia, SPPCIA_IDATA_CORE_UNIQUE, &size);</span></a> -<a name="250"><span class="lineNum"> 250 </span> :<span class="lineCov"> 26 : if (!id || size < sizeof(*id)) {</span></a> +<a name="249"><span class="lineNum"> 249 </span> :<span class="lineCov"> 2 : id = HDIF_get_idata(pcia, SPPCIA_IDATA_CORE_UNIQUE, &size);</span></a> +<a name="250"><span class="lineNum"> 250 </span> :<span class="lineCov"> 2 : if (!id || size < sizeof(*id)) {</span></a> <a name="251"><span class="lineNum"> 251 </span> :<span class="lineNoCov"> 0 : prlog(PR_WARNING, "HDAT: Bad id size %u @ %p\n", size, id);</span></a> <a name="252"><span class="lineNum"> 252 </span> :<span class="lineNoCov"> 0 : return;</span></a> <a name="253"><span class="lineNum"> 253 </span> : : }</a> <a name="254"><span class="lineNum"> 254 </span> : : </a> -<a name="255"><span class="lineNum"> 255 </span> :<span class="lineCov"> 26 : if (chip_id == pcid_to_chip_id(be32_to_cpu(id->proc_chip_id))) {</span></a> -<a name="256"><span class="lineNum"> 256 </span> :<span class="lineCov"> 6 : got_pcia = true;</span></a> -<a name="257"><span class="lineNum"> 257 </span> :<span class="lineCov"> 6 : break;</span></a> +<a name="255"><span class="lineNum"> 255 </span> :<span class="lineCov"> 2 : if (chip_id == pcid_to_chip_id(be32_to_cpu(id->proc_chip_id))) {</span></a> +<a name="256"><span class="lineNum"> 256 </span> :<span class="lineCov"> 2 : got_pcia = true;</span></a> +<a name="257"><span class="lineNum"> 257 </span> :<span class="lineCov"> 2 : break;</span></a> <a name="258"><span class="lineNum"> 258 </span> : : }</a> <a name="259"><span class="lineNum"> 259 </span> : : }</a> <a name="260"><span class="lineNum"> 260 </span> : : </a> -<a name="261"><span class="lineNum"> 261 </span> :<span class="lineCov"> 6 : if (got_pcia == false)</span></a> +<a name="261"><span class="lineNum"> 261 </span> :<span class="lineCov"> 2 : if (got_pcia == false)</span></a> <a name="262"><span class="lineNum"> 262 </span> :<span class="lineNoCov"> 0 : return;</span></a> <a name="263"><span class="lineNum"> 263 </span> : : </a> -<a name="264"><span class="lineNum"> 264 </span> :<span class="lineCov"> 6 : timebase = HDIF_get_idata(pcia, SPPCIA_IDATA_TIMEBASE, &size);</span></a> -<a name="265"><span class="lineNum"> 265 </span> :<span class="lineCov"> 6 : if (!timebase || size < sizeof(*timebase)) {</span></a> +<a name="264"><span class="lineNum"> 264 </span> :<span class="lineCov"> 2 : timebase = HDIF_get_idata(pcia, SPPCIA_IDATA_TIMEBASE, &size);</span></a> +<a name="265"><span class="lineNum"> 265 </span> :<span class="lineCov"> 2 : if (!timebase || size < sizeof(*timebase)) {</span></a> <a name="266"><span class="lineNum"> 266 </span> : : /**</a> <a name="267"><span class="lineNum"> 267 </span> : : * @fwts-label HDATBadTimebaseSize</a> <a name="268"><span class="lineNum"> 268 </span> : : * @fwts-advice HDAT described an invalid size for timebase,</a> @@ -345,27 +345,27 @@ <a name="274"><span class="lineNum"> 274 </span> :<span class="lineNoCov"> 0 : return;</span></a> <a name="275"><span class="lineNum"> 275 </span> : : }</a> <a name="276"><span class="lineNum"> 276 </span> : : </a> -<a name="277"><span class="lineNum"> 277 </span> :<span class="lineCov"> 6 : freq = ((u64)be32_to_cpu(timebase->memory_bus_frequency)) * 1000000ul;</span></a> -<a name="278"><span class="lineNum"> 278 </span> :<span class="lineCov"> 6 : dt_add_property_u64(ram_node, "ibm,memory-bus-frequency", freq);</span></a> +<a name="277"><span class="lineNum"> 277 </span> :<span class="lineCov"> 2 : freq = ((u64)be32_to_cpu(timebase->memory_bus_frequency)) * 1000000ul;</span></a> +<a name="278"><span class="lineNum"> 278 </span> :<span class="lineCov"> 2 : dt_add_property_u64(ram_node, "ibm,memory-bus-frequency", freq);</span></a> <a name="279"><span class="lineNum"> 279 </span> : : }</a> <a name="280"><span class="lineNum"> 280 </span> : : </a> -<a name="281"><span class="lineNum"> 281 </span> :<span class="lineCov"> 6 : static void add_size_to_ram_area(struct dt_node *ram_node,</span></a> +<a name="281"><span class="lineNum"> 281 </span> :<span class="lineCov"> 2 : static void add_size_to_ram_area(struct dt_node *ram_node,</span></a> <a name="282"><span class="lineNum"> 282 </span> : : const struct HDIF_common_hdr *ramarea)</a> <a name="283"><span class="lineNum"> 283 </span> : : {</a> <a name="284"><span class="lineNum"> 284 </span> : : char str[16];</a> <a name="285"><span class="lineNum"> 285 </span> : : const struct HDIF_ram_area_size *ram_area_sz;</a> <a name="286"><span class="lineNum"> 286 </span> : : </a> <a name="287"><span class="lineNum"> 287 </span> : : /* DIMM size */</a> -<a name="288"><span class="lineNum"> 288 </span> :<span class="lineCov"> 6 : ram_area_sz = HDIF_get_idata(ramarea, 3, NULL);</span></a> -<a name="289"><span class="lineNum"> 289 </span> :<span class="lineCov"> 6 : if (!CHECK_SPPTR(ram_area_sz))</span></a> +<a name="288"><span class="lineNum"> 288 </span> :<span class="lineCov"> 2 : ram_area_sz = HDIF_get_idata(ramarea, 3, NULL);</span></a> +<a name="289"><span class="lineNum"> 289 </span> :<span class="lineCov"> 2 : if (!CHECK_SPPTR(ram_area_sz))</span></a> <a name="290"><span class="lineNum"> 290 </span> :<span class="lineNoCov"> 0 : return;</span></a> <a name="291"><span class="lineNum"> 291 </span> : : </a> -<a name="292"><span class="lineNum"> 292 </span> :<span class="lineCov"> 6 : memset(str, 0, 16);</span></a> -<a name="293"><span class="lineNum"> 293 </span> :<span class="lineCov"> 6 : snprintf(str, 16, "%d", be32_to_cpu(ram_area_sz->mb));</span></a> -<a name="294"><span class="lineNum"> 294 </span> :<span class="lineCov"> 6 : dt_add_property_string(ram_node, "size", str);</span></a> +<a name="292"><span class="lineNum"> 292 </span> :<span class="lineCov"> 2 : memset(str, 0, 16);</span></a> +<a name="293"><span class="lineNum"> 293 </span> :<span class="lineCov"> 2 : snprintf(str, 16, "%d", be32_to_cpu(ram_area_sz->mb));</span></a> +<a name="294"><span class="lineNum"> 294 </span> :<span class="lineCov"> 2 : dt_add_property_string(ram_node, "size", str);</span></a> <a name="295"><span class="lineNum"> 295 </span> : : }</a> <a name="296"><span class="lineNum"> 296 </span> : : </a> -<a name="297"><span class="lineNum"> 297 </span> :<span class="lineCov"> 6 : static void vpd_add_ram_area(const struct HDIF_common_hdr *msarea)</span></a> +<a name="297"><span class="lineNum"> 297 </span> :<span class="lineCov"> 2 : static void vpd_add_ram_area(const struct HDIF_common_hdr *msarea)</span></a> <a name="298"><span class="lineNum"> 298 </span> : : {</a> <a name="299"><span class="lineNum"> 299 </span> : : unsigned int i;</a> <a name="300"><span class="lineNum"> 300 </span> : : unsigned int ram_sz;</a> @@ -376,47 +376,47 @@ <a name="305"><span class="lineNum"> 305 </span> : : u32 chip_id;</a> <a name="306"><span class="lineNum"> 306 </span> : : const void *vpd_blob;</a> <a name="307"><span class="lineNum"> 307 </span> : : </a> -<a name="308"><span class="lineNum"> 308 </span> :<span class="lineCov"> 6 : ramptr = HDIF_child_arr(msarea, 0);</span></a> -<a name="309"><span class="lineNum"> 309 </span> :<span class="lineCov"> 6 : if (!CHECK_SPPTR(ramptr)) {</span></a> +<a name="308"><span class="lineNum"> 308 </span> :<span class="lineCov"> 2 : ramptr = HDIF_child_arr(msarea, 0);</span></a> +<a name="309"><span class="lineNum"> 309 </span> :<span class="lineCov"> 2 : if (!CHECK_SPPTR(ramptr)) {</span></a> <a name="310"><span class="lineNum"> 310 </span> :<span class="lineNoCov"> 0 : prerror("MS AREA: No RAM area at %p\n", msarea);</span></a> <a name="311"><span class="lineNum"> 311 </span> :<span class="lineNoCov"> 0 : return;</span></a> <a name="312"><span class="lineNum"> 312 </span> : : }</a> <a name="313"><span class="lineNum"> 313 </span> : : </a> -<a name="314"><span class="lineNum"> 314 </span> :<span class="lineCov"> 12 : for (i = 0; i < be32_to_cpu(ramptr->count); i++) {</span></a> -<a name="315"><span class="lineNum"> 315 </span> :<span class="lineCov"> 6 : ramarea = HDIF_child(msarea, ramptr, i, "RAM ");</span></a> -<a name="316"><span class="lineNum"> 316 </span> :<span class="lineCov"> 6 : if (!CHECK_SPPTR(ramarea))</span></a> +<a name="314"><span class="lineNum"> 314 </span> :<span class="lineCov"> 4 : for (i = 0; i < be32_to_cpu(ramptr->count); i++) {</span></a> +<a name="315"><span class="lineNum"> 315 </span> :<span class="lineCov"> 2 : ramarea = HDIF_child(msarea, ramptr, i, "RAM ");</span></a> +<a name="316"><span class="lineNum"> 316 </span> :<span class="lineCov"> 2 : if (!CHECK_SPPTR(ramarea))</span></a> <a name="317"><span class="lineNum"> 317 </span> :<span class="lineNoCov"> 0 : continue;</span></a> <a name="318"><span class="lineNum"> 318 </span> : : </a> -<a name="319"><span class="lineNum"> 319 </span> :<span class="lineCov"> 6 : ram_id = HDIF_get_idata(ramarea, 2, &ram_sz);</span></a> -<a name="320"><span class="lineNum"> 320 </span> :<span class="lineCov"> 6 : if (!CHECK_SPPTR(ram_id))</span></a> +<a name="319"><span class="lineNum"> 319 </span> :<span class="lineCov"> 2 : ram_id = HDIF_get_idata(ramarea, 2, &ram_sz);</span></a> +<a name="320"><span class="lineNum"> 320 </span> :<span class="lineCov"> 2 : if (!CHECK_SPPTR(ram_id))</span></a> <a name="321"><span class="lineNum"> 321 </span> :<span class="lineNoCov"> 0 : continue;</span></a> <a name="322"><span class="lineNum"> 322 </span> : : </a> <a name="323"><span class="lineNum"> 323 </span> : : /* Don't add VPD for non-existent RAM */</a> -<a name="324"><span class="lineNum"> 324 </span> :<span class="lineCov"> 6 : if (!(be16_to_cpu(ram_id->flags) & RAM_AREA_INSTALLED))</span></a> +<a name="324"><span class="lineNum"> 324 </span> :<span class="lineCov"> 2 : if (!(be16_to_cpu(ram_id->flags) & RAM_AREA_INSTALLED))</span></a> <a name="325"><span class="lineNum"> 325 </span> :<span class="lineNoCov"> 0 : continue;</span></a> <a name="326"><span class="lineNum"> 326 </span> : : </a> -<a name="327"><span class="lineNum"> 327 </span> :<span class="lineCov"> 6 : ram_node = dt_add_vpd_node(ramarea, 0, 1);</span></a> -<a name="328"><span class="lineNum"> 328 </span> :<span class="lineCov"> 6 : if (!ram_node)</span></a> +<a name="327"><span class="lineNum"> 327 </span> :<span class="lineCov"> 2 : ram_node = dt_add_vpd_node(ramarea, 0, 1);</span></a> +<a name="328"><span class="lineNum"> 328 </span> :<span class="lineCov"> 2 : if (!ram_node)</span></a> <a name="329"><span class="lineNum"> 329 </span> :<span class="lineNoCov"> 0 : continue;</span></a> <a name="330"><span class="lineNum"> 330 </span> : : </a> -<a name="331"><span class="lineNum"> 331 </span> :<span class="lineCov"> 6 : chip_id = add_chip_id_to_ram_area(msarea, ram_node);</span></a> -<a name="332"><span class="lineNum"> 332 </span> :<span class="lineCov"> 6 : add_bus_freq_to_ram_area(ram_node, chip_id);</span></a> +<a name="331"><span class="lineNum"> 331 </span> :<span class="lineCov"> 2 : chip_id = add_chip_id_to_ram_area(msarea, ram_node);</span></a> +<a name="332"><span class="lineNum"> 332 </span> :<span class="lineCov"> 2 : add_bus_freq_to_ram_area(ram_node, chip_id);</span></a> <a name="333"><span class="lineNum"> 333 </span> : : </a> -<a name="334"><span class="lineNum"> 334 </span> :<span class="lineCov"> 6 : if (ram_sz >= offsetof(struct HDIF_ram_area_id, speed)) {</span></a> +<a name="334"><span class="lineNum"> 334 </span> :<span class="lineCov"> 2 : if (ram_sz >= offsetof(struct HDIF_ram_area_id, speed)) {</span></a> <a name="335"><span class="lineNum"> 335 </span> :<span class="lineNoCov"> 0 : dt_add_property_cells(ram_node, "frequency",</span></a> <a name="336"><span class="lineNum"> 336 </span> : : be32_to_cpu(ram_id->speed)*1000000);</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> :<span class="lineCov"> 6 : vpd_blob = HDIF_get_idata(ramarea, 1, &ram_sz);</span></a> +<a name="339"><span class="lineNum"> 339 </span> :<span class="lineCov"> 2 : vpd_blob = HDIF_get_idata(ramarea, 1, &ram_sz);</span></a> <a name="340"><span class="lineNum"> 340 </span> : : </a> <a name="341"><span class="lineNum"> 341 </span> : : /* DIMM size */</a> -<a name="342"><span class="lineNum"> 342 </span> :<span class="lineCov"> 6 : add_size_to_ram_area(ram_node, ramarea);</span></a> +<a name="342"><span class="lineNum"> 342 </span> :<span class="lineCov"> 2 : add_size_to_ram_area(ram_node, ramarea);</span></a> <a name="343"><span class="lineNum"> 343 </span> : : /*</a> <a name="344"><span class="lineNum"> 344 </span> : : * For direct-attached memory we have a DDR "Serial</a> <a name="345"><span class="lineNum"> 345 </span> : : * Presence Detection" blob rather than an IBM keyword</a> <a name="346"><span class="lineNum"> 346 </span> : : * blob.</a> <a name="347"><span class="lineNum"> 347 </span> : : */</a> -<a name="348"><span class="lineNum"> 348 </span> :<span class="lineCov"> 6 : if (!vpd_valid(vpd_blob, ram_sz))</span></a> +<a name="348"><span class="lineNum"> 348 </span> :<span class="lineCov"> 2 : if (!vpd_valid(vpd_blob, ram_sz))</span></a> <a name="349"><span class="lineNum"> 349 </span> :<span class="lineNoCov"> 0 : dt_add_property(ram_node, "spd", vpd_blob, ram_sz);</span></a> <a name="350"><span class="lineNum"> 350 </span> : : }</a> <a name="351"><span class="lineNum"> 351 </span> : : }</a> @@ -578,17 +578,17 @@ <a name="507"><span class="lineNum"> 507 </span> :<span class="lineNoCov"> 0 : add_dimm_info(mca, msarea);</span></a> <a name="508"><span class="lineNum"> 508 </span> : : }</a> <a name="509"><span class="lineNum"> 509 </span> : : </a> -<a name="510"><span class="lineNum"> 510 </span> :<span class="lineCov"> 6 : static void add_memory_buffer_mmio(const struct HDIF_common_hdr *msarea)</span></a> +<a name="510"><span class="lineNum"> 510 </span> :<span class="lineCov"> 2 : static void add_memory_buffer_mmio(const struct HDIF_common_hdr *msarea)</span></a> <a name="511"><span class="lineNum"> 511 </span> : : {</a> <a name="512"><span class="lineNum"> 512 </span> : : const struct HDIF_ms_area_ocmb_mmio *mmio;</a> -<a name="513"><span class="lineNum"> 513 </span> :<span class="lineCov"> 6 : uint64_t min_addr = ~0ull, hbrt_id = 0;</span></a> +<a name="513"><span class="lineNum"> 513 </span> :<span class="lineCov"> 2 : uint64_t min_addr = ~0ull, hbrt_id = 0;</span></a> <a name="514"><span class="lineNum"> 514 </span> : : const struct HDIF_array_hdr *array;</a> -<a name="515"><span class="lineNum"> 515 </span> :<span class="lineCov"> 6 : unsigned int i, count, ranges = 0;</span></a> +<a name="515"><span class="lineNum"> 515 </span> :<span class="lineCov"> 2 : unsigned int i, count, ranges = 0;</span></a> <a name="516"><span class="lineNum"> 516 </span> : : struct dt_node *membuf;</a> <a name="517"><span class="lineNum"> 517 </span> : : beint64_t *reg, *flags;</a> <a name="518"><span class="lineNum"> 518 </span> : : </a> -<a name="519"><span class="lineNum"> 519 </span> :<span class="lineCov"> 6 : if (proc_gen <= proc_gen_p9 && PVR_TYPE(mfspr(SPR_PVR)) != PVR_TYPE_P9P)</span></a> -<a name="520"><span class="lineNum"> 520 </span> :<span class="lineCov"> 6 : return;</span></a> +<a name="519"><span class="lineNum"> 519 </span> :<span class="lineCov"> 2 : if (proc_gen <= proc_gen_p9 && PVR_TYPE(mfspr(SPR_PVR)) != PVR_TYPE_P9P)</span></a> +<a name="520"><span class="lineNum"> 520 </span> :<span class="lineCov"> 2 : return;</span></a> <a name="521"><span class="lineNum"> 521 </span> : : </a> <a name="522"><span class="lineNum"> 522 </span> :<span class="lineNoCov"> 0 : if (be16_to_cpu(msarea->version) < 0x50) {</span></a> <a name="523"><span class="lineNum"> 523 </span> :<span class="lineNoCov"> 0 : prlog(PR_WARNING, "MS AREA: Inconsistent MSAREA version %x for P9P system",</span></a> @@ -660,37 +660,37 @@ <a name="589"><span class="lineNum"> 589 </span> :<span class="lineNoCov"> 0 : free(reg);</span></a> <a name="590"><span class="lineNum"> 590 </span> : : }</a> <a name="591"><span class="lineNum"> 591 </span> : : </a> -<a name="592"><span class="lineNum"> 592 </span> :<span class="lineCov"> 6 : static void add_memory_controller(const struct HDIF_common_hdr *msarea,</span></a> +<a name="592"><span class="lineNum"> 592 </span> :<span class="lineCov"> 2 : static void add_memory_controller(const struct HDIF_common_hdr *msarea,</span></a> <a name="593"><span class="lineNum"> 593 </span> : : const struct HDIF_ms_area_address_range *arange)</a> <a name="594"><span class="lineNum"> 594 </span> : : {</a> -<a name="595"><span class="lineNum"> 595 </span> :<span class="lineCov"> 6 : const uint32_t version = PVR_TYPE(mfspr(SPR_PVR));</span></a> +<a name="595"><span class="lineNum"> 595 </span> :<span class="lineCov"> 2 : const uint32_t version = PVR_TYPE(mfspr(SPR_PVR));</span></a> <a name="596"><span class="lineNum"> 596 </span> : : /*</a> <a name="597"><span class="lineNum"> 597 </span> : : * Memory hierarchy may change between processor version. Presently</a> <a name="598"><span class="lineNum"> 598 </span> : : * it's only creating memory hierarchy for P9 (Nimbus) and P9P (Axone).</a> <a name="599"><span class="lineNum"> 599 </span> : : */</a> <a name="600"><span class="lineNum"> 600 </span> : : </a> -<a name="601"><span class="lineNum"> 601 </span> :<span class="lineCov"> 6 : if (version == PVR_TYPE_P9)</span></a> +<a name="601"><span class="lineNum"> 601 </span> :<span class="lineCov"> 2 : if (version == PVR_TYPE_P9)</span></a> <a name="602"><span class="lineNum"> 602 </span> :<span class="lineNoCov"> 0 : return add_memory_controller_p9n(msarea, arange);</span></a> -<a name="603"><span class="lineNum"> 603 </span> :<span class="lineCov"> 6 : else if (version == PVR_TYPE_P9P)</span></a> +<a name="603"><span class="lineNum"> 603 </span> :<span class="lineCov"> 2 : else if (version == PVR_TYPE_P9P)</span></a> <a name="604"><span class="lineNum"> 604 </span> :<span class="lineNoCov"> 0 : return; //return add_memory_controller_p9p(msarea, arange);</span></a> <a name="605"><span class="lineNum"> 605 </span> : : else</a> -<a name="606"><span class="lineNum"> 606 </span> :<span class="lineCov"> 6 : return;</span></a> +<a name="606"><span class="lineNum"> 606 </span> :<span class="lineCov"> 2 : return;</span></a> <a name="607"><span class="lineNum"> 607 </span> : : }</a> <a name="608"><span class="lineNum"> 608 </span> : : </a> -<a name="609"><span class="lineNum"> 609 </span> :<span class="lineCov"> 2 : static void get_msareas(struct dt_node *root,</span></a> +<a name="609"><span class="lineNum"> 609 </span> :<span class="lineCov"> 1 : static void get_msareas(struct dt_node *root,</span></a> <a name="610"><span class="lineNum"> 610 </span> : : const struct HDIF_common_hdr *ms_vpd)</a> <a name="611"><span class="lineNum"> 611 </span> : : {</a> <a name="612"><span class="lineNum"> 612 </span> : : unsigned int i;</a> <a name="613"><span class="lineNum"> 613 </span> : : const struct HDIF_child_ptr *msptr;</a> <a name="614"><span class="lineNum"> 614 </span> : : </a> <a name="615"><span class="lineNum"> 615 </span> : : /* First childptr refers to msareas. */</a> -<a name="616"><span class="lineNum"> 616 </span> :<span class="lineCov"> 2 : msptr = HDIF_child_arr(ms_vpd, MSVPD_CHILD_MS_AREAS);</span></a> -<a name="617"><span class="lineNum"> 617 </span> :<span class="lineCov"> 2 : if (!CHECK_SPPTR(msptr)) {</span></a> +<a name="616"><span class="lineNum"> 616 </span> :<span class="lineCov"> 1 : msptr = HDIF_child_arr(ms_vpd, MSVPD_CHILD_MS_AREAS);</span></a> +<a name="617"><span class="lineNum"> 617 </span> :<span class="lineCov"> 1 : if (!CHECK_SPPTR(msptr)) {</span></a> <a name="618"><span class="lineNum"> 618 </span> :<span class="lineNoCov"> 0 : prerror("MS VPD: no children at %p\n", ms_vpd);</span></a> <a name="619"><span class="lineNum"> 619 </span> :<span class="lineNoCov"> 0 : return;</span></a> <a name="620"><span class="lineNum"> 620 </span> : : }</a> <a name="621"><span class="lineNum"> 621 </span> : : </a> -<a name="622"><span class="lineNum"> 622 </span> :<span class="lineCov"> 8 : for (i = 0; i < be32_to_cpu(msptr->count); i++) {</span></a> +<a name="622"><span class="lineNum"> 622 </span> :<span class="lineCov"> 3 : for (i = 0; i < be32_to_cpu(msptr->count); i++) {</span></a> <a name="623"><span class="lineNum"> 623 </span> : : const struct HDIF_common_hdr *msarea;</a> <a name="624"><span class="lineNum"> 624 </span> : : const struct HDIF_array_hdr *arr;</a> <a name="625"><span class="lineNum"> 625 </span> : : const struct HDIF_ms_area_address_range *arange;</a> @@ -699,21 +699,21 @@ <a name="628"><span class="lineNum"> 628 </span> : : unsigned int size, j, offset;</a> <a name="629"><span class="lineNum"> 629 </span> : : u16 flags;</a> <a name="630"><span class="lineNum"> 630 </span> : : </a> -<a name="631"><span class="lineNum"> 631 </span> :<span class="lineCov"> 6 : msarea = HDIF_child(ms_vpd, msptr, i, "MSAREA");</span></a> -<a name="632"><span class="lineNum"> 632 </span> :<span class="lineCov"> 6 : if (!CHECK_SPPTR(msarea))</span></a> +<a name="631"><span class="lineNum"> 631 </span> :<span class="lineCov"> 2 : msarea = HDIF_child(ms_vpd, msptr, i, "MSAREA");</span></a> +<a name="632"><span class="lineNum"> 632 </span> :<span class="lineCov"> 2 : if (!CHECK_SPPTR(msarea))</span></a> <a name="633"><span class="lineNum"> 633 </span> :<span class="lineNoCov"> 0 : return;</span></a> <a name="634"><span class="lineNum"> 634 </span> : : </a> -<a name="635"><span class="lineNum"> 635 </span> :<span class="lineCov"> 6 : id = HDIF_get_idata(msarea, 2, &size);</span></a> -<a name="636"><span class="lineNum"> 636 </span> :<span class="lineCov"> 6 : if (!CHECK_SPPTR(id))</span></a> +<a name="635"><span class="lineNum"> 635 </span> :<span class="lineCov"> 2 : id = HDIF_get_idata(msarea, 2, &size);</span></a> +<a name="636"><span class="lineNum"> 636 </span> :<span class="lineCov"> 2 : if (!CHECK_SPPTR(id))</span></a> <a name="637"><span class="lineNum"> 637 </span> :<span class="lineNoCov"> 0 : return;</span></a> -<a name="638"><span class="lineNum"> 638 </span> :<span class="lineCov"> 6 : if (size < sizeof(*id)) {</span></a> +<a name="638"><span class="lineNum"> 638 </span> :<span class="lineCov"> 2 : if (size < sizeof(*id)) {</span></a> <a name="639"><span class="lineNum"> 639 </span> :<span class="lineNoCov"> 0 : prerror("MS VPD: %p msarea #%i id size too small!\n",</span></a> <a name="640"><span class="lineNum"> 640 </span> : : ms_vpd, i);</a> <a name="641"><span class="lineNum"> 641 </span> :<span class="lineNoCov"> 0 : return;</span></a> <a name="642"><span class="lineNum"> 642 </span> : : }</a> <a name="643"><span class="lineNum"> 643 </span> : : </a> -<a name="644"><span class="lineNum"> 644 </span> :<span class="lineCov"> 6 : flags = be16_to_cpu(id->flags);</span></a> -<a name="645"><span class="lineNum"> 645 </span> :<span class="lineCov"> 6 : prlog(PR_DEBUG, "MS VPD: %p, area %i: %s %s %s\n",</span></a> +<a name="644"><span class="lineNum"> 644 </span> :<span class="lineCov"> 2 : flags = be16_to_cpu(id->flags);</span></a> +<a name="645"><span class="lineNum"> 645 </span> :<span class="lineCov"> 2 : prlog(PR_DEBUG, "MS VPD: %p, area %i: %s %s %s\n",</span></a> <a name="646"><span class="lineNum"> 646 </span> : : ms_vpd, i,</a> <a name="647"><span class="lineNum"> 647 </span> : : flags & MS_AREA_INSTALLED ?</a> <a name="648"><span class="lineNum"> 648 </span> : : "installed" : "not installed",</a> @@ -722,65 +722,65 @@ <a name="651"><span class="lineNum"> 651 </span> : : flags & MS_AREA_SHARED ?</a> <a name="652"><span class="lineNum"> 652 </span> : : "shared" : "not shared");</a> <a name="653"><span class="lineNum"> 653 </span> : : </a> -<a name="654"><span class="lineNum"> 654 </span> :<span class="lineCov"> 6 : if ((flags & (MS_AREA_INSTALLED|MS_AREA_FUNCTIONAL))</span></a> +<a name="654"><span class="lineNum"> 654 </span> :<span class="lineCov"> 2 : if ((flags & (MS_AREA_INSTALLED|MS_AREA_FUNCTIONAL))</span></a> <a name="655"><span class="lineNum"> 655 </span> : : != (MS_AREA_INSTALLED|MS_AREA_FUNCTIONAL))</a> <a name="656"><span class="lineNum"> 656 </span> :<span class="lineNoCov"> 0 : continue;</span></a> <a name="657"><span class="lineNum"> 657 </span> : : </a> -<a name="658"><span class="lineNum"> 658 </span> :<span class="lineCov"> 6 : arr = HDIF_get_idata(msarea, 4, &size);</span></a> -<a name="659"><span class="lineNum"> 659 </span> :<span class="lineCov"> 6 : if (!CHECK_SPPTR(arr))</span></a> +<a name="658"><span class="lineNum"> 658 </span> :<span class="lineCov"> 2 : arr = HDIF_get_idata(msarea, 4, &size);</span></a> +<a name="659"><span class="lineNum"> 659 </span> :<span class="lineCov"> 2 : if (!CHECK_SPPTR(arr))</span></a> <a name="660"><span class="lineNum"> 660 </span> :<span class="lineNoCov"> 0 : continue;</span></a> <a name="661"><span class="lineNum"> 661 </span> : : </a> -<a name="662"><span class="lineNum"> 662 </span> :<span class="lineCov"> 6 : if (size < sizeof(*arr)) {</span></a> +<a name="662"><span class="lineNum"> 662 </span> :<span class="lineCov"> 2 : if (size < sizeof(*arr)) {</span></a> <a name="663"><span class="lineNum"> 663 </span> :<span class="lineNoCov"> 0 : prerror("MS VPD: %p msarea #%i arr size too small!\n",</span></a> <a name="664"><span class="lineNum"> 664 </span> : : ms_vpd, i);</a> <a name="665"><span class="lineNum"> 665 </span> :<span class="lineNoCov"> 0 : return;</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="lineCov"> 6 : offset = offsetof(struct HDIF_ms_area_address_range, mirror_start);</span></a> -<a name="669"><span class="lineNum"> 669 </span> :<span class="lineCov"> 6 : if (be32_to_cpu(arr->eactsz) < offset) {</span></a> +<a name="668"><span class="lineNum"> 668 </span> :<span class="lineCov"> 2 : offset = offsetof(struct HDIF_ms_area_address_range, mirror_start);</span></a> +<a name="669"><span class="lineNum"> 669 </span> :<span class="lineCov"> 2 : if (be32_to_cpu(arr->eactsz) < offset) {</span></a> <a name="670"><span class="lineNum"> 670 </span> :<span class="lineNoCov"> 0 : prerror("MS VPD: %p msarea #%i arange size too small!\n",</span></a> <a name="671"><span class="lineNum"> 671 </span> : : ms_vpd, i);</a> <a name="672"><span class="lineNum"> 672 </span> :<span class="lineNoCov"> 0 : return;</span></a> <a name="673"><span class="lineNum"> 673 </span> : : }</a> <a name="674"><span class="lineNum"> 674 </span> : : </a> -<a name="675"><span class="lineNum"> 675 </span> :<span class="lineCov"> 6 : fruid = HDIF_get_idata(msarea, 0, &size);</span></a> -<a name="676"><span class="lineNum"> 676 </span> :<span class="lineCov"> 6 : if (!CHECK_SPPTR(fruid))</span></a> +<a name="675"><span class="lineNum"> 675 </span> :<span class="lineCov"> 2 : fruid = HDIF_get_idata(msarea, 0, &size);</span></a> +<a name="676"><span class="lineNum"> 676 </span> :<span class="lineCov"> 2 : if (!CHECK_SPPTR(fruid))</span></a> <a name="677"><span class="lineNum"> 677 </span> :<span class="lineNoCov"> 0 : return;</span></a> <a name="678"><span class="lineNum"> 678 </span> : : </a> <a name="679"><span class="lineNum"> 679 </span> : : /* Add Raiser card VPD */</a> -<a name="680"><span class="lineNum"> 680 </span> :<span class="lineCov"> 6 : if (be16_to_cpu(id->parent_type) & MS_PTYPE_RISER_CARD)</span></a> +<a name="680"><span class="lineNum"> 680 </span> :<span class="lineCov"> 2 : if (be16_to_cpu(id->parent_type) & MS_PTYPE_RISER_CARD)</span></a> <a name="681"><span class="lineNum"> 681 </span> :<span class="lineNoCov"> 0 : dt_add_vpd_node(msarea, 0, 1);</span></a> <a name="682"><span class="lineNum"> 682 </span> : : </a> <a name="683"><span class="lineNum"> 683 </span> : : /* Add RAM Area VPD */</a> -<a name="684"><span class="lineNum"> 684 </span> :<span class="lineCov"> 6 : vpd_add_ram_area(msarea);</span></a> +<a name="684"><span class="lineNum"> 684 </span> :<span class="lineCov"> 2 : vpd_add_ram_area(msarea);</span></a> <a name="685"><span class="lineNum"> 685 </span> : : </a> -<a name="686"><span class="lineNum"> 686 </span> :<span class="lineCov"> 6 : add_memory_buffer_mmio(msarea);</span></a> +<a name="686"><span class="lineNum"> 686 </span> :<span class="lineCov"> 2 : add_memory_buffer_mmio(msarea);</span></a> <a name="687"><span class="lineNum"> 687 </span> : : </a> <a name="688"><span class="lineNum"> 688 </span> : : /* This offset is from the arr, not the header! */</a> -<a name="689"><span class="lineNum"> 689 </span> :<span class="lineCov"> 6 : arange = (void *)arr + be32_to_cpu(arr->offset);</span></a> -<a name="690"><span class="lineNum"> 690 </span> :<span class="lineCov"> 12 : for (j = 0; j < be32_to_cpu(arr->ecnt); j++) {</span></a> -<a name="691"><span class="lineNum"> 691 </span> :<span class="lineCov"> 6 : uint32_t type = 0, status = 0;</span></a> +<a name="689"><span class="lineNum"> 689 </span> :<span class="lineCov"> 2 : arange = (void *)arr + be32_to_cpu(arr->offset);</span></a> +<a name="690"><span class="lineNum"> 690 </span> :<span class="lineCov"> 4 : for (j = 0; j < be32_to_cpu(arr->ecnt); j++) {</span></a> +<a name="691"><span class="lineNum"> 691 </span> :<span class="lineCov"> 2 : uint32_t type = 0, status = 0;</span></a> <a name="692"><span class="lineNum"> 692 </span> : : </a> <a name="693"><span class="lineNum"> 693 </span> : : /*</a> <a name="694"><span class="lineNum"> 694 </span> : : * Check that the required fields are present in this</a> <a name="695"><span class="lineNum"> 695 </span> : : * version of the HDAT structure.</a> <a name="696"><span class="lineNum"> 696 </span> : : */</a> -<a name="697"><span class="lineNum"> 697 </span> :<span class="lineCov"> 6 : offset = offsetof(struct HDIF_ms_area_address_range, controller_id);</span></a> -<a name="698"><span class="lineNum"> 698 </span> :<span class="lineCov"> 6 : if (be32_to_cpu(arr->eactsz) >= offset)</span></a> -<a name="699"><span class="lineNum"> 699 </span> :<span class="lineCov"> 6 : add_memory_controller(msarea, arange);</span></a> +<a name="697"><span class="lineNum"> 697 </span> :<span class="lineCov"> 2 : offset = offsetof(struct HDIF_ms_area_address_range, controller_id);</span></a> +<a name="698"><span class="lineNum"> 698 </span> :<span class="lineCov"> 2 : if (be32_to_cpu(arr->eactsz) >= offset)</span></a> +<a name="699"><span class="lineNum"> 699 </span> :<span class="lineCov"> 2 : add_memory_controller(msarea, arange);</span></a> <a name="700"><span class="lineNum"> 700 </span> : : </a> -<a name="701"><span class="lineNum"> 701 </span> :<span class="lineCov"> 6 : offset = offsetof(struct HDIF_ms_area_address_range, phys_attr);</span></a> -<a name="702"><span class="lineNum"> 702 </span> :<span class="lineCov"> 6 : if (be32_to_cpu(arr->eactsz) >= offset) {</span></a> +<a name="701"><span class="lineNum"> 701 </span> :<span class="lineCov"> 2 : offset = offsetof(struct HDIF_ms_area_address_range, phys_attr);</span></a> +<a name="702"><span class="lineNum"> 702 </span> :<span class="lineCov"> 2 : if (be32_to_cpu(arr->eactsz) >= offset) {</span></a> <a name="703"><span class="lineNum"> 703 </span> :<span class="lineNoCov"> 0 : uint32_t attr = be32_to_cpu(arange->phys_attr);</span></a> <a name="704"><span class="lineNum"> 704 </span> : : </a> <a name="705"><span class="lineNum"> 705 </span> :<span class="lineNoCov"> 0 : type = GETFIELD(PHYS_ATTR_TYPE_MASK, attr);</span></a> <a name="706"><span class="lineNum"> 706 </span> :<span class="lineNoCov"> 0 : status = GETFIELD(PHYS_ATTR_STATUS_MASK, attr);</span></a> <a name="707"><span class="lineNum"> 707 </span> : : }</a> <a name="708"><span class="lineNum"> 708 </span> : : </a> -<a name="709"><span class="lineNum"> 709 </span> :<span class="lineCov"> 6 : if (!add_address_range(root, id, arange, type, status))</span></a> +<a name="709"><span class="lineNum"> 709 </span> :<span class="lineCov"> 2 : if (!add_address_range(root, id, arange, type, status))</span></a> <a name="710"><span class="lineNum"> 710 </span> :<span class="lineNoCov"> 0 : prerror("Unable to use memory range %d from MSAREA %d\n", j, i);</span></a> <a name="711"><span class="lineNum"> 711 </span> : : </a> -<a name="712"><span class="lineNum"> 712 </span> :<span class="lineCov"> 6 : arange = (void *)arange + be32_to_cpu(arr->esize);</span></a> +<a name="712"><span class="lineNum"> 712 </span> :<span class="lineCov"> 2 : arange = (void *)arange + be32_to_cpu(arr->esize);</span></a> <a name="713"><span class="lineNum"> 713 </span> : : }</a> <a name="714"><span class="lineNum"> 714 </span> : : }</a> <a name="715"><span class="lineNum"> 715 </span> : : }</a> @@ -821,7 +821,7 @@ <a name="750"><span class="lineNum"> 750 </span> :<span class="lineNoCov"> 0 : return node;</span></a> <a name="751"><span class="lineNum"> 751 </span> : : }</a> <a name="752"><span class="lineNum"> 752 </span> : : </a> -<a name="753"><span class="lineNum"> 753 </span> :<span class="lineCov"> 2 : static void get_hb_reserved_mem(struct HDIF_common_hdr *ms_vpd)</span></a> +<a name="753"><span class="lineNum"> 753 </span> :<span class="lineCov"> 1 : static void get_hb_reserved_mem(struct HDIF_common_hdr *ms_vpd)</span></a> <a name="754"><span class="lineNum"> 754 </span> : : {</a> <a name="755"><span class="lineNum"> 755 </span> : : const struct msvpd_hb_reserved_mem *hb_resv_mem;</a> <a name="756"><span class="lineNum"> 756 </span> : : u64 start_addr, end_addr, label_size;</a> @@ -833,8 +833,8 @@ <a name="762"><span class="lineNum"> 762 </span> : : * XXX: Reservation names only exist on P9 and on P7/8 we get the</a> <a name="763"><span class="lineNum"> 763 </span> : : * reserved ranges through the hostboot mini-FDT instead.</a> <a name="764"><span class="lineNum"> 764 </span> : : */</a> -<a name="765"><span class="lineNum"> 765 </span> :<span class="lineCov"> 2 : if (proc_gen < proc_gen_p9)</span></a> -<a name="766"><span class="lineNum"> 766 </span> :<span class="lineCov"> 2 : return;</span></a> +<a name="765"><span class="lineNum"> 765 </span> :<span class="lineCov"> 1 : if (proc_gen < proc_gen_p9)</span></a> +<a name="766"><span class="lineNum"> 766 </span> :<span class="lineCov"> 1 : return;</span></a> <a name="767"><span class="lineNum"> 767 </span> : : </a> <a name="768"><span class="lineNum"> 768 </span> :<span class="lineNoCov"> 0 : count = HDIF_get_iarray_size(ms_vpd, MSVPD_IDATA_HB_RESERVED_MEM);</span></a> <a name="769"><span class="lineNum"> 769 </span> :<span class="lineNoCov"> 0 : if (count <= 0) {</span></a> @@ -908,7 +908,7 @@ <a name="837"><span class="lineNum"> 837 </span> : : }</a> <a name="838"><span class="lineNum"> 838 </span> : : }</a> <a name="839"><span class="lineNum"> 839 </span> : : </a> -<a name="840"><span class="lineNum"> 840 </span> :<span class="lineCov"> 2 : static void parse_trace_reservations(struct HDIF_common_hdr *ms_vpd)</span></a> +<a name="840"><span class="lineNum"> 840 </span> :<span class="lineCov"> 1 : static void parse_trace_reservations(struct HDIF_common_hdr *ms_vpd)</span></a> <a name="841"><span class="lineNum"> 841 </span> : : {</a> <a name="842"><span class="lineNum"> 842 </span> : : unsigned int size;</a> <a name="843"><span class="lineNum"> 843 </span> : : int count, i;</a> @@ -919,15 +919,15 @@ <a name="848"><span class="lineNum"> 848 </span> : : * when they're not present.</a> <a name="849"><span class="lineNum"> 849 </span> : : */</a> <a name="850"><span class="lineNum"> 850 </span> : : </a> -<a name="851"><span class="lineNum"> 851 </span> :<span class="lineCov"> 2 : if (!HDIF_get_idata(ms_vpd, MSVPD_IDATA_TRACE_AREAS, &size) || !size) {</span></a> +<a name="851"><span class="lineNum"> 851 </span> :<span class="lineCov"> 1 : if (!HDIF_get_idata(ms_vpd, MSVPD_IDATA_TRACE_AREAS, &size) || !size) {</span></a> <a name="852"><span class="lineNum"> 852 </span> :<span class="lineNoCov"> 0 : prlog(PR_DEBUG, "MS VPD: No trace areas found\n");</span></a> -<a name="853"><span class="lineNum"> 853 </span> :<span class="lineCov"> 2 : return;</span></a> +<a name="853"><span class="lineNum"> 853 </span> :<span class="lineCov"> 1 : return;</span></a> <a name="854"><span class="lineNum"> 854 </span> : : }</a> <a name="855"><span class="lineNum"> 855 </span> : : </a> -<a name="856"><span class="lineNum"> 856 </span> :<span class="lineCov"> 2 : count = HDIF_get_iarray_size(ms_vpd, MSVPD_IDATA_TRACE_AREAS);</span></a> -<a name="857"><span class="lineNum"> 857 </span> :<span class="lineCov"> 2 : if (count <= 0) {</span></a> -<a name="858"><span class="lineNum"> 858 </span> :<span class="lineCov"> 2 : prlog(PR_DEBUG, "MS VPD: No trace areas found\n");</span></a> -<a name="859"><span class="lineNum"> 859 </span> :<span class="lineCov"> 2 : return;</span></a> +<a name="856"><span class="lineNum"> 856 </span> :<span class="lineCov"> 1 : count = HDIF_get_iarray_size(ms_vpd, MSVPD_IDATA_TRACE_AREAS);</span></a> +<a name="857"><span class="lineNum"> 857 </span> :<span class="lineCov"> 1 : if (count <= 0) {</span></a> +<a name="858"><span class="lineNum"> 858 </span> :<span class="lineCov"> 1 : prlog(PR_DEBUG, "MS VPD: No trace areas found\n");</span></a> +<a name="859"><span class="lineNum"> 859 </span> :<span class="lineCov"> 1 : return;</span></a> <a name="860"><span class="lineNum"> 860 </span> : : }</a> <a name="861"><span class="lineNum"> 861 </span> : : </a> <a name="862"><span class="lineNum"> 862 </span> :<span class="lineNoCov"> 0 : prlog(PR_INFO, "MS VPD: Found %d trace areas\n", count);</span></a> @@ -961,72 +961,72 @@ <a name="890"><span class="lineNum"> 890 </span> : : }</a> <a name="891"><span class="lineNum"> 891 </span> : : }</a> <a name="892"><span class="lineNum"> 892 </span> : : </a> -<a name="893"><span class="lineNum"> 893 </span> :<span class="lineCov"> 2 : static bool __memory_parse(struct dt_node *root)</span></a> +<a name="893"><span class="lineNum"> 893 </span> :<span class="lineCov"> 1 : static bool __memory_parse(struct dt_node *root)</span></a> <a name="894"><span class="lineNum"> 894 </span> : : {</a> <a name="895"><span class="lineNum"> 895 </span> : : struct HDIF_common_hdr *ms_vpd;</a> <a name="896"><span class="lineNum"> 896 </span> : : const struct msvpd_ms_addr_config *msac;</a> <a name="897"><span class="lineNum"> 897 </span> : : const struct msvpd_total_config_ms *tcms;</a> <a name="898"><span class="lineNum"> 898 </span> : : unsigned int size;</a> <a name="899"><span class="lineNum"> 899 </span> : : </a> -<a name="900"><span class="lineNum"> 900 </span> :<span class="lineCov"> 2 : ms_vpd = get_hdif(&spira.ntuples.ms_vpd, MSVPD_HDIF_SIG);</span></a> -<a name="901"><span class="lineNum"> 901 </span> :<span class="lineCov"> 2 : if (!ms_vpd) {</span></a> +<a name="900"><span class="lineNum"> 900 </span> :<span class="lineCov"> 1 : ms_vpd = get_hdif(&spiras->ntuples.ms_vpd, MSVPD_HDIF_SIG);</span></a> +<a name="901"><span class="lineNum"> 901 </span> :<span class="lineCov"> 1 : if (!ms_vpd) {</span></a> <a name="902"><span class="lineNum"> 902 </span> :<span class="lineNoCov"> 0 : prerror("MS VPD: invalid\n");</span></a> <a name="903"><span class="lineNum"> 903 </span> :<span class="lineNoCov"> 0 : op_display(OP_FATAL, OP_MOD_MEM, 0x0000);</span></a> <a name="904"><span class="lineNum"> 904 </span> :<span class="lineNoCov"> 0 : return false;</span></a> <a name="905"><span class="lineNum"> 905 </span> : : }</a> -<a name="906"><span class="lineNum"> 906 </span> :<span class="lineCov"> 2 : if (be32_to_cpu(spira.ntuples.ms_vpd.act_len) < sizeof(*ms_vpd)) {</span></a> +<a name="906"><span class="lineNum"> 906 </span> :<span class="lineCov"> 1 : if (be32_to_cpu(spiras->ntuples.ms_vpd.act_len) < sizeof(*ms_vpd)) {</span></a> <a name="907"><span class="lineNum"> 907 </span> :<span class="lineNoCov"> 0 : prerror("MS VPD: invalid size %u\n",</span></a> -<a name="908"><span class="lineNum"> 908 </span> : : be32_to_cpu(spira.ntuples.ms_vpd.act_len));</a> +<a name="908"><span class="lineNum"> 908 </span> : : be32_to_cpu(spiras->ntuples.ms_vpd.act_len));</a> <a name="909"><span class="lineNum"> 909 </span> :<span class="lineNoCov"> 0 : op_display(OP_FATAL, OP_MOD_MEM, 0x0001);</span></a> <a name="910"><span class="lineNum"> 910 </span> :<span class="lineNoCov"> 0 : return false;</span></a> <a name="911"><span class="lineNum"> 911 </span> : : }</a> <a name="912"><span class="lineNum"> 912 </span> : : </a> -<a name="913"><span class="lineNum"> 913 </span> :<span class="lineCov"> 2 : prlog(PR_DEBUG, "MS VPD: is at %p\n", ms_vpd);</span></a> +<a name="913"><span class="lineNum"> 913 </span> :<span class="lineCov"> 1 : prlog(PR_DEBUG, "MS VPD: is at %p\n", ms_vpd);</span></a> <a name="914"><span class="lineNum"> 914 </span> : : </a> -<a name="915"><span class="lineNum"> 915 </span> :<span class="lineCov"> 2 : msac = HDIF_get_idata(ms_vpd, MSVPD_IDATA_MS_ADDR_CONFIG, &size);</span></a> -<a name="916"><span class="lineNum"> 916 </span> :<span class="lineCov"> 2 : if (!CHECK_SPPTR(msac) ||</span></a> -<a name="917"><span class="lineNum"> 917 </span> :<span class="lineCov"> 2 : size < offsetof(struct msvpd_ms_addr_config, max_possible_ms_address)) {</span></a> +<a name="915"><span class="lineNum"> 915 </span> :<span class="lineCov"> 1 : msac = HDIF_get_idata(ms_vpd, MSVPD_IDATA_MS_ADDR_CONFIG, &size);</span></a> +<a name="916"><span class="lineNum"> 916 </span> :<span class="lineCov"> 1 : if (!CHECK_SPPTR(msac) ||</span></a> +<a name="917"><span class="lineNum"> 917 </span> :<span class="lineCov"> 1 : size < offsetof(struct msvpd_ms_addr_config, max_possible_ms_address)) {</span></a> <a name="918"><span class="lineNum"> 918 </span> :<span class="lineNoCov"> 0 : prerror("MS VPD: bad msac size %u @ %p\n", size, msac);</span></a> <a name="919"><span class="lineNum"> 919 </span> :<span class="lineNoCov"> 0 : op_display(OP_FATAL, OP_MOD_MEM, 0x0002);</span></a> <a name="920"><span class="lineNum"> 920 </span> :<span class="lineNoCov"> 0 : return false;</span></a> <a name="921"><span class="lineNum"> 921 </span> : : }</a> -<a name="922"><span class="lineNum"> 922 </span> :<span class="lineCov"> 2 : prlog(PR_DEBUG, "MS VPD: MSAC is at %p\n", msac);</span></a> +<a name="922"><span class="lineNum"> 922 </span> :<span class="lineCov"> 1 : prlog(PR_DEBUG, "MS VPD: MSAC is at %p\n", 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 "maxmem",</span></a> -<a name="925"><span class="lineNum"> 925 </span> :<span class="lineCov"> 2 : be64_to_cpu(msac->max_configured_ms_address));</span></a> +<a name="924"><span class="lineNum"> 924 </span> :<span class="lineCov"> 1 : dt_add_property_u64(dt_root, DT_PRIVATE "maxmem",</span></a> +<a name="925"><span class="lineNum"> 925 </span> :<span class="lineCov"> 1 : be64_to_cpu(msac->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, &size);</span></a> -<a name="928"><span class="lineNum"> 928 </span> :<span class="lineCov"> 2 : if (!CHECK_SPPTR(tcms) || size < sizeof(*tcms)) {</span></a> +<a name="927"><span class="lineNum"> 927 </span> :<span class="lineCov"> 1 : tcms = HDIF_get_idata(ms_vpd, MSVPD_IDATA_TOTAL_CONFIG_MS, &size);</span></a> +<a name="928"><span class="lineNum"> 928 </span> :<span class="lineCov"> 1 : if (!CHECK_SPPTR(tcms) || size < sizeof(*tcms)) {</span></a> <a name="929"><span class="lineNum"> 929 </span> :<span class="lineNoCov"> 0 : prerror("MS VPD: Bad tcms size %u @ %p\n", size, tcms);</span></a> <a name="930"><span class="lineNum"> 930 </span> :<span class="lineNoCov"> 0 : op_display(OP_FATAL, OP_MOD_MEM, 0x0003);</span></a> <a name="931"><span class="lineNum"> 931 </span> :<span class="lineNoCov"> 0 : return false;</span></a> <a name="932"><span class="lineNum"> 932 </span> : : }</a> -<a name="933"><span class="lineNum"> 933 </span> :<span class="lineCov"> 2 : prlog(PR_DEBUG, "MS VPD: TCMS is at %p\n", tcms);</span></a> +<a name="933"><span class="lineNum"> 933 </span> :<span class="lineCov"> 1 : prlog(PR_DEBUG, "MS VPD: TCMS is at %p\n", tcms);</span></a> <a name="934"><span class="lineNum"> 934 </span> : : </a> -<a name="935"><span class="lineNum"> 935 </span> :<span class="lineCov"> 2 : prlog(PR_DEBUG, "MS VPD: Maximum configured address: 0x%llx\n",</span></a> +<a name="935"><span class="lineNum"> 935 </span> :<span class="lineCov"> 1 : prlog(PR_DEBUG, "MS VPD: Maximum configured address: 0x%llx\n",</span></a> <a name="936"><span class="lineNum"> 936 </span> : : (long long)be64_to_cpu(msac->max_configured_ms_address));</a> -<a name="937"><span class="lineNum"> 937 </span> :<span class="lineCov"> 2 : prlog(PR_DEBUG, "MS VPD: Maximum possible address: 0x%llx\n",</span></a> +<a name="937"><span class="lineNum"> 937 </span> :<span class="lineCov"> 1 : prlog(PR_DEBUG, "MS VPD: Maximum possible address: 0x%llx\n",</span></a> <a name="938"><span class="lineNum"> 938 </span> : : (long long)be64_to_cpu(msac->max_possible_ms_address));</a> <a name="939"><span class="lineNum"> 939 </span> : : </a> -<a name="940"><span class="lineNum"> 940 </span> :<span class="lineCov"> 2 : get_msareas(root, ms_vpd);</span></a> +<a name="940"><span class="lineNum"> 940 </span> :<span class="lineCov"> 1 : get_msareas(root, ms_vpd);</span></a> <a name="941"><span class="lineNum"> 941 </span> : : </a> -<a name="942"><span class="lineNum"> 942 </span> :<span class="lineCov"> 2 : get_hb_reserved_mem(ms_vpd);</span></a> +<a name="942"><span class="lineNum"> 942 </span> :<span class="lineCov"> 1 : get_hb_reserved_mem(ms_vpd);</span></a> <a name="943"><span class="lineNum"> 943 </span> : : </a> -<a name="944"><span class="lineNum"> 944 </span> :<span class="lineCov"> 2 : parse_trace_reservations(ms_vpd);</span></a> +<a name="944"><span class="lineNum"> 944 </span> :<span class="lineCov"> 1 : parse_trace_reservations(ms_vpd);</span></a> <a name="945"><span class="lineNum"> 945 </span> : : </a> -<a name="946"><span class="lineNum"> 946 </span> :<span class="lineCov"> 2 : prlog(PR_INFO, "MS VPD: Total MB of RAM: 0x%llx\n",</span></a> +<a name="946"><span class="lineNum"> 946 </span> :<span class="lineCov"> 1 : prlog(PR_INFO, "MS VPD: Total MB of RAM: 0x%llx\n",</span></a> <a name="947"><span class="lineNum"> 947 </span> : : (long long)be64_to_cpu(tcms->total_in_mb));</a> <a name="948"><span class="lineNum"> 948 </span> : : </a> -<a name="949"><span class="lineNum"> 949 </span> :<span class="lineCov"> 2 : return true;</span></a> +<a name="949"><span class="lineNum"> 949 </span> :<span class="lineCov"> 1 : return true;</span></a> <a name="950"><span class="lineNum"> 950 </span> : : }</a> <a name="951"><span class="lineNum"> 951 </span> : : </a> -<a name="952"><span class="lineNum"> 952 </span> :<span class="lineCov"> 2 : void memory_parse(void)</span></a> +<a name="952"><span class="lineNum"> 952 </span> :<span class="lineCov"> 1 : void memory_parse(void)</span></a> <a name="953"><span class="lineNum"> 953 </span> : : {</a> -<a name="954"><span class="lineNum"> 954 </span> :<span class="lineCov"> 2 : if (!__memory_parse(dt_root)) {</span></a> +<a name="954"><span class="lineNum"> 954 </span> :<span class="lineCov"> 1 : if (!__memory_parse(dt_root)) {</span></a> <a name="955"><span class="lineNum"> 955 </span> :<span class="lineNoCov"> 0 : prerror("MS VPD: Failed memory init !\n");</span></a> <a name="956"><span class="lineNum"> 956 </span> :<span class="lineNoCov"> 0 : abort();</span></a> <a name="957"><span class="lineNum"> 957 </span> : : }</a> -<a name="958"><span class="lineNum"> 958 </span> :<span class="lineCov"> 2 : }</span></a> +<a name="958"><span class="lineNum"> 958 </span> :<span class="lineCov"> 1 : }</span></a> </pre> </td> </tr> diff --git a/coverage-report/hdata/pcia.c.func-sort-c.html b/coverage-report/hdata/pcia.c.func-sort-c.html index f3b2bd6..76fe669 100644 --- a/coverage-report/hdata/pcia.c.func-sort-c.html +++ b/coverage-report/hdata/pcia.c.func-sort-c.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">5</td> @@ -70,23 +70,23 @@ </tr> <tr> <td class="coverFn"><a href="pcia.c.gcov.html#176">pcia_parse</a></td> - <td class="coverFnHi">2</td> + <td class="coverFnHi">1</td> </tr> <tr> <td class="coverFn"><a href="pcia.c.gcov.html#87">add_core_node</a></td> - <td class="coverFnHi">26</td> + <td class="coverFnHi">6</td> </tr> <tr> <td class="coverFn"><a href="pcia.c.gcov.html#43">add_xics_icp</a></td> - <td class="coverFnHi">26</td> + <td class="coverFnHi">6</td> </tr> <tr> <td class="coverFn"><a href="pcia.c.gcov.html#14">pcia_index</a></td> - <td class="coverFnHi">52</td> + <td class="coverFnHi">12</td> </tr> <tr> <td class="coverFn"><a href="pcia.c.gcov.html#20">find_tada</a></td> - <td class="coverFnHi">442</td> + <td class="coverFnHi">102</td> </tr> </table> <br> diff --git a/coverage-report/hdata/pcia.c.func.html b/coverage-report/hdata/pcia.c.func.html index 8ee3b92..cfe5cef 100644 --- a/coverage-report/hdata/pcia.c.func.html +++ b/coverage-report/hdata/pcia.c.func.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">5</td> @@ -70,23 +70,23 @@ </tr> <tr> <td class="coverFn"><a href="pcia.c.gcov.html#87">add_core_node</a></td> - <td class="coverFnHi">26</td> + <td class="coverFnHi">6</td> </tr> <tr> <td class="coverFn"><a href="pcia.c.gcov.html#43">add_xics_icp</a></td> - <td class="coverFnHi">26</td> + <td class="coverFnHi">6</td> </tr> <tr> <td class="coverFn"><a href="pcia.c.gcov.html#20">find_tada</a></td> - <td class="coverFnHi">442</td> + <td class="coverFnHi">102</td> </tr> <tr> <td class="coverFn"><a href="pcia.c.gcov.html#14">pcia_index</a></td> - <td class="coverFnHi">52</td> + <td class="coverFnHi">12</td> </tr> <tr> <td class="coverFn"><a href="pcia.c.gcov.html#176">pcia_parse</a></td> - <td class="coverFnHi">2</td> + <td class="coverFnHi">1</td> </tr> </table> <br> diff --git a/coverage-report/hdata/pcia.c.gcov.html b/coverage-report/hdata/pcia.c.gcov.html index 4c130da..b49e977 100644 --- a/coverage-report/hdata/pcia.c.gcov.html +++ b/coverage-report/hdata/pcia.c.gcov.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">5</td> @@ -84,80 +84,80 @@ <a name="13"><span class="lineNum"> 13 </span> : : </a> <a name="14"><span class="lineNum"> 14 </span> : : #define PCIA_MAX_THREADS 8</a> <a name="15"><span class="lineNum"> 15 </span> : : </a> -<a name="16"><span class="lineNum"> 16 </span> :<span class="lineCov"> 52 : static unsigned int pcia_index(const void *pcia)</span></a> +<a name="16"><span class="lineNum"> 16 </span> :<span class="lineCov"> 12 : static unsigned int pcia_index(const void *pcia)</span></a> <a name="17"><span class="lineNum"> 17 </span> : : {</a> -<a name="18"><span class="lineNum"> 18 </span> :<span class="lineCov"> 52 : return (pcia - (void *)get_hdif(&spira.ntuples.pcia, "SPPCIA"))</span></a> -<a name="19"><span class="lineNum"> 19 </span> :<span class="lineCov"> 52 : / be32_to_cpu(spira.ntuples.pcia.alloc_len);</span></a> +<a name="18"><span class="lineNum"> 18 </span> :<span class="lineCov"> 12 : return (pcia - (void *)get_hdif(&spiras->ntuples.pcia, "SPPCIA"))</span></a> +<a name="19"><span class="lineNum"> 19 </span> :<span class="lineCov"> 12 : / be32_to_cpu(spiras->ntuples.pcia.alloc_len);</span></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> :<span class="lineCov"> 442 : static const struct sppcia_cpu_thread *find_tada(const void *pcia,</span></a> +<a name="22"><span class="lineNum"> 22 </span> :<span class="lineCov"> 102 : static const struct sppcia_cpu_thread *find_tada(const void *pcia,</span></a> <a name="23"><span class="lineNum"> 23 </span> : : unsigned int thread)</a> <a name="24"><span class="lineNum"> 24 </span> : : {</a> -<a name="25"><span class="lineNum"> 25 </span> :<span class="lineCov"> 442 : int count = HDIF_get_iarray_size(pcia, SPPCIA_IDATA_THREAD_ARRAY);</span></a> +<a name="25"><span class="lineNum"> 25 </span> :<span class="lineCov"> 102 : int count = HDIF_get_iarray_size(pcia, SPPCIA_IDATA_THREAD_ARRAY);</span></a> <a name="26"><span class="lineNum"> 26 </span> : : int i;</a> <a name="27"><span class="lineNum"> 27 </span> : : </a> -<a name="28"><span class="lineNum"> 28 </span> :<span class="lineCov"> 442 : if (count < 0)</span></a> +<a name="28"><span class="lineNum"> 28 </span> :<span class="lineCov"> 102 : if (count < 0)</span></a> <a name="29"><span class="lineNum"> 29 </span> :<span class="lineNoCov"> 0 : return NULL;</span></a> <a name="30"><span class="lineNum"> 30 </span> : : </a> -<a name="31"><span class="lineNum"> 31 </span> :<span class="lineCov"> 1898 : for (i = 0; i < count; i++) {</span></a> +<a name="31"><span class="lineNum"> 31 </span> :<span class="lineCov"> 438 : for (i = 0; i < count; i++) {</span></a> <a name="32"><span class="lineNum"> 32 </span> : : const struct sppcia_cpu_thread *t;</a> <a name="33"><span class="lineNum"> 33 </span> : : unsigned int size;</a> <a name="34"><span class="lineNum"> 34 </span> : : </a> -<a name="35"><span class="lineNum"> 35 </span> :<span class="lineCov"> 1898 : t = HDIF_get_iarray_item(pcia, SPPCIA_IDATA_THREAD_ARRAY,</span></a> +<a name="35"><span class="lineNum"> 35 </span> :<span class="lineCov"> 438 : t = HDIF_get_iarray_item(pcia, SPPCIA_IDATA_THREAD_ARRAY,</span></a> <a name="36"><span class="lineNum"> 36 </span> : : i, &size);</a> -<a name="37"><span class="lineNum"> 37 </span> :<span class="lineCov"> 1898 : if (!t || size < sizeof(*t))</span></a> +<a name="37"><span class="lineNum"> 37 </span> :<span class="lineCov"> 438 : if (!t || size < sizeof(*t))</span></a> <a name="38"><span class="lineNum"> 38 </span> :<span class="lineNoCov"> 0 : continue;</span></a> -<a name="39"><span class="lineNum"> 39 </span> :<span class="lineCov"> 1898 : if (be32_to_cpu(t->phys_thread_id) == thread)</span></a> -<a name="40"><span class="lineNum"> 40 </span> :<span class="lineCov"> 442 : return t;</span></a> +<a name="39"><span class="lineNum"> 39 </span> :<span class="lineCov"> 438 : if (be32_to_cpu(t->phys_thread_id) == thread)</span></a> +<a name="40"><span class="lineNum"> 40 </span> :<span class="lineCov"> 102 : return t;</span></a> <a name="41"><span class="lineNum"> 41 </span> : : }</a> <a name="42"><span class="lineNum"> 42 </span> :<span class="lineNoCov"> 0 : return NULL;</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"> 26 : static void add_xics_icp(const void *pcia, u32 tcount, const char *compat)</span></a> +<a name="45"><span class="lineNum"> 45 </span> :<span class="lineCov"> 6 : static void add_xics_icp(const void *pcia, u32 tcount, const char *compat)</span></a> <a name="46"><span class="lineNum"> 46 </span> : : {</a> <a name="47"><span class="lineNum"> 47 </span> : : const struct sppcia_cpu_thread *t;</a> <a name="48"><span class="lineNum"> 48 </span> : : struct dt_node *icp;</a> <a name="49"><span class="lineNum"> 49 </span> : : __be64 *reg;</a> <a name="50"><span class="lineNum"> 50 </span> : : u32 i, irange[2], rsize;</a> <a name="51"><span class="lineNum"> 51 </span> : : </a> -<a name="52"><span class="lineNum"> 52 </span> :<span class="lineCov"> 26 : rsize = tcount * 2 * sizeof(__be64);</span></a> -<a name="53"><span class="lineNum"> 53 </span> :<span class="lineCov"> 26 : reg = malloc(rsize);</span></a> -<a name="54"><span class="lineNum"> 54 </span> :<span class="lineCov"> 26 : assert(reg);</span></a> +<a name="52"><span class="lineNum"> 52 </span> :<span class="lineCov"> 6 : rsize = tcount * 2 * sizeof(__be64);</span></a> +<a name="53"><span class="lineNum"> 53 </span> :<span class="lineCov"> 6 : reg = malloc(rsize);</span></a> +<a name="54"><span class="lineNum"> 54 </span> :<span class="lineCov"> 6 : assert(reg);</span></a> <a name="55"><span class="lineNum"> 55 </span> : : </a> <a name="56"><span class="lineNum"> 56 </span> : : /* Suppresses uninitialized warning from gcc */</a> -<a name="57"><span class="lineNum"> 57 </span> :<span class="lineCov"> 26 : irange[0] = 0;</span></a> -<a name="58"><span class="lineNum"> 58 </span> :<span class="lineCov"> 234 : for (i = 0; i < tcount; i++) {</span></a> -<a name="59"><span class="lineNum"> 59 </span> :<span class="lineCov"> 208 : t = find_tada(pcia, i);</span></a> -<a name="60"><span class="lineNum"> 60 </span> :<span class="lineCov"> 208 : assert(t);</span></a> -<a name="61"><span class="lineNum"> 61 </span> :<span class="lineCov"> 208 : if (i == 0)</span></a> -<a name="62"><span class="lineNum"> 62 </span> :<span class="lineCov"> 26 : irange[0] = be32_to_cpu(t->pir);</span></a> -<a name="63"><span class="lineNum"> 63 </span> :<span class="lineCov"> 208 : reg[i * 2] = cpu_to_be64(cleanup_addr(be64_to_cpu(t->ibase)));</span></a> -<a name="64"><span class="lineNum"> 64 </span> :<span class="lineCov"> 208 : reg[i * 2 + 1] = cpu_to_be64(0x1000);</span></a> +<a name="57"><span class="lineNum"> 57 </span> :<span class="lineCov"> 6 : irange[0] = 0;</span></a> +<a name="58"><span class="lineNum"> 58 </span> :<span class="lineCov"> 54 : for (i = 0; i < tcount; i++) {</span></a> +<a name="59"><span class="lineNum"> 59 </span> :<span class="lineCov"> 48 : t = find_tada(pcia, i);</span></a> +<a name="60"><span class="lineNum"> 60 </span> :<span class="lineCov"> 48 : assert(t);</span></a> +<a name="61"><span class="lineNum"> 61 </span> :<span class="lineCov"> 48 : if (i == 0)</span></a> +<a name="62"><span class="lineNum"> 62 </span> :<span class="lineCov"> 6 : irange[0] = be32_to_cpu(t->pir);</span></a> +<a name="63"><span class="lineNum"> 63 </span> :<span class="lineCov"> 48 : reg[i * 2] = cpu_to_be64(cleanup_addr(be64_to_cpu(t->ibase)));</span></a> +<a name="64"><span class="lineNum"> 64 </span> :<span class="lineCov"> 48 : reg[i * 2 + 1] = cpu_to_be64(0x1000);</span></a> <a name="65"><span class="lineNum"> 65 </span> : : }</a> -<a name="66"><span class="lineNum"> 66 </span> :<span class="lineCov"> 26 : irange[1] = tcount;</span></a> +<a name="66"><span class="lineNum"> 66 </span> :<span class="lineCov"> 6 : irange[1] = tcount;</span></a> <a name="67"><span class="lineNum"> 67 </span> : : </a> -<a name="68"><span class="lineNum"> 68 </span> :<span class="lineCov"> 26 : icp = dt_new_addr(dt_root, "interrupt-controller", be64_to_cpu(reg[0]));</span></a> -<a name="69"><span class="lineNum"> 69 </span> :<span class="lineCov"> 26 : if (!icp) {</span></a> +<a name="68"><span class="lineNum"> 68 </span> :<span class="lineCov"> 6 : icp = dt_new_addr(dt_root, "interrupt-controller", be64_to_cpu(reg[0]));</span></a> +<a name="69"><span class="lineNum"> 69 </span> :<span class="lineCov"> 6 : if (!icp) {</span></a> <a name="70"><span class="lineNum"> 70 </span> :<span class="lineNoCov"> 0 : free(reg);</span></a> <a name="71"><span class="lineNum"> 71 </span> :<span class="lineNoCov"> 0 : return;</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> :<span class="lineCov"> 26 : if (compat)</span></a> -<a name="75"><span class="lineNum"> 75 </span> :<span class="lineCov"> 26 : dt_add_property_strings(icp, "compatible", "ibm,ppc-xicp", compat);</span></a> +<a name="74"><span class="lineNum"> 74 </span> :<span class="lineCov"> 6 : if (compat)</span></a> +<a name="75"><span class="lineNum"> 75 </span> :<span class="lineCov"> 6 : dt_add_property_strings(icp, "compatible", "ibm,ppc-xicp", compat);</span></a> <a name="76"><span class="lineNum"> 76 </span> : : else</a> <a name="77"><span class="lineNum"> 77 </span> :<span class="lineNoCov"> 0 : dt_add_property_strings(icp, "compatible", "ibm,ppc-xicp");</span></a> -<a name="78"><span class="lineNum"> 78 </span> :<span class="lineCov"> 26 : dt_add_property_cells(icp, "ibm,interrupt-server-ranges",</span></a> +<a name="78"><span class="lineNum"> 78 </span> :<span class="lineCov"> 6 : dt_add_property_cells(icp, "ibm,interrupt-server-ranges",</span></a> <a name="79"><span class="lineNum"> 79 </span> : : irange[0], irange[1]);</a> -<a name="80"><span class="lineNum"> 80 </span> :<span class="lineCov"> 26 : dt_add_property(icp, "interrupt-controller", NULL, 0);</span></a> -<a name="81"><span class="lineNum"> 81 </span> :<span class="lineCov"> 26 : dt_add_property_cells(icp, "#interrupt-cells", 1);</span></a> -<a name="82"><span class="lineNum"> 82 </span> :<span class="lineCov"> 26 : dt_add_property(icp, "reg", reg, rsize);</span></a> -<a name="83"><span class="lineNum"> 83 </span> :<span class="lineCov"> 26 : dt_add_property_cells(icp, "#address-cells", 0);</span></a> -<a name="84"><span class="lineNum"> 84 </span> :<span class="lineCov"> 26 : dt_add_property_string(icp, "device_type",</span></a> +<a name="80"><span class="lineNum"> 80 </span> :<span class="lineCov"> 6 : dt_add_property(icp, "interrupt-controller", NULL, 0);</span></a> +<a name="81"><span class="lineNum"> 81 </span> :<span class="lineCov"> 6 : dt_add_property_cells(icp, "#interrupt-cells", 1);</span></a> +<a name="82"><span class="lineNum"> 82 </span> :<span class="lineCov"> 6 : dt_add_property(icp, "reg", reg, rsize);</span></a> +<a name="83"><span class="lineNum"> 83 </span> :<span class="lineCov"> 6 : dt_add_property_cells(icp, "#address-cells", 0);</span></a> +<a name="84"><span class="lineNum"> 84 </span> :<span class="lineCov"> 6 : dt_add_property_string(icp, "device_type",</span></a> <a name="85"><span class="lineNum"> 85 </span> : : "PowerPC-External-Interrupt-Presentation");</a> -<a name="86"><span class="lineNum"> 86 </span> :<span class="lineCov"> 26 : free(reg);</span></a> +<a name="86"><span class="lineNum"> 86 </span> :<span class="lineCov"> 6 : free(reg);</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> :<span class="lineCov"> 26 : static struct dt_node *add_core_node(struct dt_node *cpus,</span></a> +<a name="89"><span class="lineNum"> 89 </span> :<span class="lineCov"> 6 : static struct dt_node *add_core_node(struct dt_node *cpus,</span></a> <a name="90"><span class="lineNum"> 90 </span> : : const void *pcia,</a> <a name="91"><span class="lineNum"> 91 </span> : : const struct sppcia_core_unique *id,</a> <a name="92"><span class="lineNum"> 92 </span> : : bool okay)</a> @@ -172,129 +172,129 @@ <a name="101"><span class="lineNum"> 101 </span> : : __be32 iserv[PCIA_MAX_THREADS];</a> <a name="102"><span class="lineNum"> 102 </span> : : </a> <a name="103"><span class="lineNum"> 103 </span> : : /* Look for thread 0 */</a> -<a name="104"><span class="lineNum"> 104 </span> :<span class="lineCov"> 26 : t = find_tada(pcia, 0);</span></a> -<a name="105"><span class="lineNum"> 105 </span> :<span class="lineCov"> 26 : if (!t) {</span></a> +<a name="104"><span class="lineNum"> 104 </span> :<span class="lineCov"> 6 : t = find_tada(pcia, 0);</span></a> +<a name="105"><span class="lineNum"> 105 </span> :<span class="lineCov"> 6 : if (!t) {</span></a> <a name="106"><span class="lineNum"> 106 </span> :<span class="lineNoCov"> 0 : prerror("CORE[%i]: Failed to find thread 0 !\n",</span></a> <a name="107"><span class="lineNum"> 107 </span> : : pcia_index(pcia));</a> <a name="108"><span class="lineNum"> 108 </span> :<span class="lineNoCov"> 0 : return NULL;</span></a> <a name="109"><span class="lineNum"> 109 </span> : : }</a> <a name="110"><span class="lineNum"> 110 </span> : : </a> -<a name="111"><span class="lineNum"> 111 </span> :<span class="lineCov"> 26 : ve_flags = be32_to_cpu(id->verif_exist_flags);</span></a> -<a name="112"><span class="lineNum"> 112 </span> :<span class="lineCov"> 26 : threads = ((ve_flags & CPU_ID_NUM_SECONDARY_THREAD_MASK)</span></a> -<a name="113"><span class="lineNum"> 113 </span> :<span class="lineCov"> 26 : >> CPU_ID_NUM_SECONDARY_THREAD_SHIFT) + 1;</span></a> -<a name="114"><span class="lineNum"> 114 </span> :<span class="lineCov"> 26 : assert(threads <= PCIA_MAX_THREADS);</span></a> +<a name="111"><span class="lineNum"> 111 </span> :<span class="lineCov"> 6 : ve_flags = be32_to_cpu(id->verif_exist_flags);</span></a> +<a name="112"><span class="lineNum"> 112 </span> :<span class="lineCov"> 6 : threads = ((ve_flags & CPU_ID_NUM_SECONDARY_THREAD_MASK)</span></a> +<a name="113"><span class="lineNum"> 113 </span> :<span class="lineCov"> 6 : >> CPU_ID_NUM_SECONDARY_THREAD_SHIFT) + 1;</span></a> +<a name="114"><span class="lineNum"> 114 </span> :<span class="lineCov"> 6 : assert(threads <= PCIA_MAX_THREADS);</span></a> <a name="115"><span class="lineNum"> 115 </span> : : </a> -<a name="116"><span class="lineNum"> 116 </span> :<span class="lineCov"> 26 : prlog(PR_INFO, "CORE[%i]: PIR=%.8x %s %s(%u threads)\n",</span></a> +<a name="116"><span class="lineNum"> 116 </span> :<span class="lineCov"> 6 : prlog(PR_INFO, "CORE[%i]: PIR=%.8x %s %s(%u threads)\n",</span></a> <a name="117"><span class="lineNum"> 117 </span> : : pcia_index(pcia), be32_to_cpu(t->pir),</a> <a name="118"><span class="lineNum"> 118 </span> : : ve_flags & CPU_ID_PCIA_RESERVED</a> <a name="119"><span class="lineNum"> 119 </span> : : ? "**RESERVED**" : cpu_state(ve_flags),</a> <a name="120"><span class="lineNum"> 120 </span> : : be32_to_cpu(t->pir) == boot_cpu->pir ? "[boot] " : "", threads);</a> <a name="121"><span class="lineNum"> 121 </span> : : </a> -<a name="122"><span class="lineNum"> 122 </span> :<span class="lineCov"> 26 : timebase = HDIF_get_idata(pcia, SPPCIA_IDATA_TIMEBASE, &size);</span></a> -<a name="123"><span class="lineNum"> 123 </span> :<span class="lineCov"> 26 : if (!timebase || size < sizeof(*timebase)) {</span></a> +<a name="122"><span class="lineNum"> 122 </span> :<span class="lineCov"> 6 : timebase = HDIF_get_idata(pcia, SPPCIA_IDATA_TIMEBASE, &size);</span></a> +<a name="123"><span class="lineNum"> 123 </span> :<span class="lineCov"> 6 : if (!timebase || size < sizeof(*timebase)) {</span></a> <a name="124"><span class="lineNum"> 124 </span> :<span class="lineNoCov"> 0 : prerror("CORE[%i]: bad timebase size %u @ %p\n",</span></a> <a name="125"><span class="lineNum"> 125 </span> : : pcia_index(pcia), size, timebase);</a> <a name="126"><span class="lineNum"> 126 </span> :<span class="lineNoCov"> 0 : return NULL;</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> :<span class="lineCov"> 26 : cache = HDIF_get_idata(pcia, SPPCIA_IDATA_CPU_CACHE, &size);</span></a> -<a name="130"><span class="lineNum"> 130 </span> :<span class="lineCov"> 26 : if (!cache || size < sizeof(*cache)) {</span></a> +<a name="129"><span class="lineNum"> 129 </span> :<span class="lineCov"> 6 : cache = HDIF_get_idata(pcia, SPPCIA_IDATA_CPU_CACHE, &size);</span></a> +<a name="130"><span class="lineNum"> 130 </span> :<span class="lineCov"> 6 : if (!cache || size < sizeof(*cache)) {</span></a> <a name="131"><span class="lineNum"> 131 </span> :<span class="lineNoCov"> 0 : prerror("CORE[%i]: bad cache size %u @ %p\n",</span></a> <a name="132"><span class="lineNum"> 132 </span> : : pcia_index(pcia), size, cache);</a> <a name="133"><span class="lineNum"> 133 </span> :<span class="lineNoCov"> 0 : return NULL;</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> :<span class="lineCov"> 26 : cpu = add_core_common(cpus, cache, timebase,</span></a> -<a name="137"><span class="lineNum"> 137 </span> :<span class="lineCov"> 26 : be32_to_cpu(t->pir), okay);</span></a> +<a name="136"><span class="lineNum"> 136 </span> :<span class="lineCov"> 6 : cpu = add_core_common(cpus, cache, timebase,</span></a> +<a name="137"><span class="lineNum"> 137 </span> :<span class="lineCov"> 6 : be32_to_cpu(t->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, &size);</span></a> -<a name="141"><span class="lineNum"> 141 </span> :<span class="lineCov"> 26 : if (attr)</span></a> -<a name="142"><span class="lineNum"> 142 </span> :<span class="lineCov"> 26 : add_core_attr(cpu, be32_to_cpu(attr->attr));</span></a> +<a name="140"><span class="lineNum"> 140 </span> :<span class="lineCov"> 6 : attr = HDIF_get_idata(pcia, SPPCIA_IDATA_CPU_ATTR, &size);</span></a> +<a name="141"><span class="lineNum"> 141 </span> :<span class="lineCov"> 6 : if (attr)</span></a> +<a name="142"><span class="lineNum"> 142 </span> :<span class="lineCov"> 6 : add_core_attr(cpu, be32_to_cpu(attr->attr));</span></a> <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> :<span class="lineCov"> 26 : be32_to_cpu(t->pir), okay);</span></a> -<a name="147"><span class="lineNum"> 147 </span> :<span class="lineCov"> 26 : dt_add_property_cells(cpu, "l2-cache", l2_phandle);</span></a> +<a name="145"><span class="lineNum"> 145 </span> :<span class="lineCov"> 6 : l2_phandle = add_core_cache_info(cpus, cache,</span></a> +<a name="146"><span class="lineNum"> 146 </span> :<span class="lineCov"> 6 : be32_to_cpu(t->pir), okay);</span></a> +<a name="147"><span class="lineNum"> 147 </span> :<span class="lineCov"> 6 : dt_add_property_cells(cpu, "l2-cache", 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> -<a name="150"><span class="lineNum"> 150 </span> :<span class="lineCov"> 26 : icp_compat = "IBM,power8-icp";</span></a> +<a name="149"><span class="lineNum"> 149 </span> :<span class="lineCov"> 6 : if (proc_gen == proc_gen_p8)</span></a> +<a name="150"><span class="lineNum"> 150 </span> :<span class="lineCov"> 6 : icp_compat = "IBM,power8-icp";</span></a> <a name="151"><span class="lineNum"> 151 </span> : : </a> <a name="152"><span class="lineNum"> 152 </span> : : /* Get HW Chip ID */</a> -<a name="153"><span class="lineNum"> 153 </span> :<span class="lineCov"> 26 : chip_id = pcid_to_chip_id(be32_to_cpu(id->proc_chip_id));</span></a> +<a name="153"><span class="lineNum"> 153 </span> :<span class="lineCov"> 6 : chip_id = pcid_to_chip_id(be32_to_cpu(id->proc_chip_id));</span></a> <a name="154"><span class="lineNum"> 154 </span> : : </a> -<a name="155"><span class="lineNum"> 155 </span> :<span class="lineCov"> 26 : dt_add_property_cells(cpu, "ibm,pir", be32_to_cpu(t->pir));</span></a> -<a name="156"><span class="lineNum"> 156 </span> :<span class="lineCov"> 26 : dt_add_property_cells(cpu, "ibm,chip-id", chip_id);</span></a> +<a name="155"><span class="lineNum"> 155 </span> :<span class="lineCov"> 6 : dt_add_property_cells(cpu, "ibm,pir", be32_to_cpu(t->pir));</span></a> +<a name="156"><span class="lineNum"> 156 </span> :<span class="lineCov"> 6 : dt_add_property_cells(cpu, "ibm,chip-id", chip_id);</span></a> <a name="157"><span class="lineNum"> 157 </span> : : </a> <a name="158"><span class="lineNum"> 158 </span> : : /* Build ibm,ppc-interrupt-server#s with all threads */</a> -<a name="159"><span class="lineNum"> 159 </span> :<span class="lineCov"> 234 : for (i = 0; i < threads; i++) {</span></a> -<a name="160"><span class="lineNum"> 160 </span> :<span class="lineCov"> 208 : t = find_tada(pcia, i);</span></a> -<a name="161"><span class="lineNum"> 161 </span> :<span class="lineCov"> 208 : if (!t) {</span></a> +<a name="159"><span class="lineNum"> 159 </span> :<span class="lineCov"> 54 : for (i = 0; i < threads; i++) {</span></a> +<a name="160"><span class="lineNum"> 160 </span> :<span class="lineCov"> 48 : t = find_tada(pcia, i);</span></a> +<a name="161"><span class="lineNum"> 161 </span> :<span class="lineCov"> 48 : if (!t) {</span></a> <a name="162"><span class="lineNum"> 162 </span> :<span class="lineNoCov"> 0 : threads = i;</span></a> <a name="163"><span class="lineNum"> 163 </span> :<span class="lineNoCov"> 0 : break;</span></a> <a name="164"><span class="lineNum"> 164 </span> : : }</a> <a name="165"><span class="lineNum"> 165 </span> : : </a> -<a name="166"><span class="lineNum"> 166 </span> :<span class="lineCov"> 208 : iserv[i] = t->pir;</span></a> +<a name="166"><span class="lineNum"> 166 </span> :<span class="lineCov"> 48 : iserv[i] = t->pir;</span></a> <a name="167"><span class="lineNum"> 167 </span> : : }</a> <a name="168"><span class="lineNum"> 168 </span> : : </a> -<a name="169"><span class="lineNum"> 169 </span> :<span class="lineCov"> 26 : dt_add_property(cpu, "ibm,ppc-interrupt-server#s", iserv, 4 * threads);</span></a> +<a name="169"><span class="lineNum"> 169 </span> :<span class="lineCov"> 6 : dt_add_property(cpu, "ibm,ppc-interrupt-server#s", iserv, 4 * threads);</span></a> <a name="170"><span class="lineNum"> 170 </span> : : </a> <a name="171"><span class="lineNum"> 171 </span> : : /* Add the ICP node for this CPU for P8 */</a> -<a name="172"><span class="lineNum"> 172 </span> :<span class="lineCov"> 26 : if (proc_gen == proc_gen_p8)</span></a> -<a name="173"><span class="lineNum"> 173 </span> :<span class="lineCov"> 26 : add_xics_icp(pcia, threads, icp_compat);</span></a> +<a name="172"><span class="lineNum"> 172 </span> :<span class="lineCov"> 6 : if (proc_gen == proc_gen_p8)</span></a> +<a name="173"><span class="lineNum"> 173 </span> :<span class="lineCov"> 6 : add_xics_icp(pcia, threads, icp_compat);</span></a> <a name="174"><span class="lineNum"> 174 </span> : : </a> -<a name="175"><span class="lineNum"> 175 </span> :<span class="lineCov"> 26 : return cpu;</span></a> +<a name="175"><span class="lineNum"> 175 </span> :<span class="lineCov"> 6 : return cpu;</span></a> <a name="176"><span class="lineNum"> 176 </span> : : }</a> <a name="177"><span class="lineNum"> 177 </span> : : </a> -<a name="178"><span class="lineNum"> 178 </span> :<span class="lineCov"> 2 : bool pcia_parse(void)</span></a> +<a name="178"><span class="lineNum"> 178 </span> :<span class="lineCov"> 1 : bool pcia_parse(void)</span></a> <a name="179"><span class="lineNum"> 179 </span> : : {</a> <a name="180"><span class="lineNum"> 180 </span> : : const void *pcia;</a> <a name="181"><span class="lineNum"> 181 </span> : : struct dt_node *cpus;</a> <a name="182"><span class="lineNum"> 182 </span> : : </a> -<a name="183"><span class="lineNum"> 183 </span> :<span class="lineCov"> 2 : pcia = get_hdif(&spira.ntuples.pcia, "SPPCIA");</span></a> -<a name="184"><span class="lineNum"> 184 </span> :<span class="lineCov"> 2 : if (!pcia)</span></a> +<a name="183"><span class="lineNum"> 183 </span> :<span class="lineCov"> 1 : pcia = get_hdif(&spiras->ntuples.pcia, SPPCIA_HDIF_SIG);</span></a> +<a name="184"><span class="lineNum"> 184 </span> :<span class="lineCov"> 1 : if (!pcia)</span></a> <a name="185"><span class="lineNum"> 185 </span> :<span class="lineNoCov"> 0 : return false;</span></a> <a name="186"><span class="lineNum"> 186 </span> : : </a> -<a name="187"><span class="lineNum"> 187 </span> :<span class="lineCov"> 2 : prlog(PR_INFO, "Got PCIA !\n");</span></a> +<a name="187"><span class="lineNum"> 187 </span> :<span class="lineCov"> 1 : prlog(PR_INFO, "Got PCIA !\n");</span></a> <a name="188"><span class="lineNum"> 188 </span> : : </a> -<a name="189"><span class="lineNum"> 189 </span> :<span class="lineCov"> 2 : cpus = dt_new(dt_root, "cpus");</span></a> -<a name="190"><span class="lineNum"> 190 </span> :<span class="lineCov"> 2 : dt_add_property_cells(cpus, "#address-cells", 1);</span></a> -<a name="191"><span class="lineNum"> 191 </span> :<span class="lineCov"> 2 : dt_add_property_cells(cpus, "#size-cells", 0);</span></a> +<a name="189"><span class="lineNum"> 189 </span> :<span class="lineCov"> 1 : cpus = dt_new(dt_root, "cpus");</span></a> +<a name="190"><span class="lineNum"> 190 </span> :<span class="lineCov"> 1 : dt_add_property_cells(cpus, "#address-cells", 1);</span></a> +<a name="191"><span class="lineNum"> 191 </span> :<span class="lineCov"> 1 : dt_add_property_cells(cpus, "#size-cells", 0);</span></a> <a name="192"><span class="lineNum"> 192 </span> : : </a> -<a name="193"><span class="lineNum"> 193 </span> :<span class="lineCov"> 28 : for_each_pcia(pcia) {</span></a> +<a name="193"><span class="lineNum"> 193 </span> :<span class="lineCov"> 7 : for_each_pcia(spiras, pcia) {</span></a> <a name="194"><span class="lineNum"> 194 </span> : : const struct sppcia_core_unique *id;</a> <a name="195"><span class="lineNum"> 195 </span> : : u32 size, ve_flags;</a> <a name="196"><span class="lineNum"> 196 </span> : : bool okay;</a> <a name="197"><span class="lineNum"> 197 </span> : : </a> -<a name="198"><span class="lineNum"> 198 </span> :<span class="lineCov"> 26 : id = HDIF_get_idata(pcia, SPPCIA_IDATA_CORE_UNIQUE, &size);</span></a> -<a name="199"><span class="lineNum"> 199 </span> :<span class="lineCov"> 26 : if (!id || size < sizeof(*id)) {</span></a> +<a name="198"><span class="lineNum"> 198 </span> :<span class="lineCov"> 6 : id = HDIF_get_idata(pcia, SPPCIA_IDATA_CORE_UNIQUE, &size);</span></a> +<a name="199"><span class="lineNum"> 199 </span> :<span class="lineCov"> 6 : if (!id || size < sizeof(*id)) {</span></a> <a name="200"><span class="lineNum"> 200 </span> :<span class="lineNoCov"> 0 : prerror("CORE[%i]: bad id size %u @ %p\n",</span></a> <a name="201"><span class="lineNum"> 201 </span> : : pcia_index(pcia), size, id);</a> <a name="202"><span class="lineNum"> 202 </span> :<span class="lineNoCov"> 0 : return false;</span></a> <a name="203"><span class="lineNum"> 203 </span> : : }</a> -<a name="204"><span class="lineNum"> 204 </span> :<span class="lineCov"> 26 : ve_flags = be32_to_cpu(id->verif_exist_flags);</span></a> +<a name="204"><span class="lineNum"> 204 </span> :<span class="lineCov"> 6 : ve_flags = be32_to_cpu(id->verif_exist_flags);</span></a> <a name="205"><span class="lineNum"> 205 </span> : : </a> -<a name="206"><span class="lineNum"> 206 </span> :<span class="lineCov"> 26 : switch ((ve_flags & CPU_ID_VERIFY_MASK)</span></a> -<a name="207"><span class="lineNum"> 207 </span> :<span class="lineCov"> 26 : >> CPU_ID_VERIFY_SHIFT) {</span></a> -<a name="208"><span class="lineNum"> 208 </span> :<span class="lineCov"> 26 : case CPU_ID_VERIFY_USABLE_NO_FAILURES:</span></a> +<a name="206"><span class="lineNum"> 206 </span> :<span class="lineCov"> 6 : switch ((ve_flags & CPU_ID_VERIFY_MASK)</span></a> +<a name="207"><span class="lineNum"> 207 </span> :<span class="lineCov"> 6 : >> CPU_ID_VERIFY_SHIFT) {</span></a> +<a name="208"><span class="lineNum"> 208 </span> :<span class="lineCov"> 6 : case CPU_ID_VERIFY_USABLE_NO_FAILURES:</span></a> <a name="209"><span class="lineNum"> 209 </span> : : case CPU_ID_VERIFY_USABLE_FAILURES:</a> -<a name="210"><span class="lineNum"> 210 </span> :<span class="lineCov"> 26 : okay = true;</span></a> -<a name="211"><span class="lineNum"> 211 </span> :<span class="lineCov"> 26 : break;</span></a> +<a name="210"><span class="lineNum"> 210 </span> :<span class="lineCov"> 6 : okay = true;</span></a> +<a name="211"><span class="lineNum"> 211 </span> :<span class="lineCov"> 6 : break;</span></a> <a name="212"><span class="lineNum"> 212 </span> :<span class="lineNoCov"> 0 : default:</span></a> <a name="213"><span class="lineNum"> 213 </span> :<span class="lineNoCov"> 0 : okay = false;</span></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> :<span class="lineCov"> 26 : prlog(okay ? PR_INFO : PR_WARNING,</span></a> +<a name="216"><span class="lineNum"> 216 </span> :<span class="lineCov"> 6 : prlog(okay ? PR_INFO : PR_WARNING,</span></a> <a name="217"><span class="lineNum"> 217 </span> : : "CORE[%i]: HW_PROC_ID=%i PROC_CHIP_ID=%i EC=0x%x %s\n",</a> <a name="218"><span class="lineNum"> 218 </span> : : pcia_index(pcia), be32_to_cpu(id->hw_proc_id),</a> <a name="219"><span class="lineNum"> 219 </span> : : be32_to_cpu(id->proc_chip_id),</a> <a name="220"><span class="lineNum"> 220 </span> : : be32_to_cpu(id->chip_ec_level),</a> <a name="221"><span class="lineNum"> 221 </span> : : okay ? "OK" : "UNAVAILABLE");</a> <a name="222"><span class="lineNum"> 222 </span> : : </a> -<a name="223"><span class="lineNum"> 223 </span> :<span class="lineCov"> 26 : if (!add_core_node(cpus, pcia, id, okay))</span></a> +<a name="223"><span class="lineNum"> 223 </span> :<span class="lineCov"> 6 : if (!add_core_node(cpus, pcia, id, okay))</span></a> <a name="224"><span class="lineNum"> 224 </span> :<span class="lineNoCov"> 0 : break;</span></a> <a name="225"><span class="lineNum"> 225 </span> : : }</a> -<a name="226"><span class="lineNum"> 226 </span> :<span class="lineCov"> 2 : return true;</span></a> +<a name="226"><span class="lineNum"> 226 </span> :<span class="lineCov"> 1 : return true;</span></a> <a name="227"><span class="lineNum"> 227 </span> : : }</a> </pre> </td> diff --git a/coverage-report/hdata/slca.c.func-sort-c.html b/coverage-report/hdata/slca.c.func-sort-c.html index 6b61f6d..7ea99a7 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">5</td> @@ -74,23 +74,23 @@ </tr> <tr> <td class="coverFn"><a href="slca.c.gcov.html#130">slca_dt_add_sai_node</a></td> - <td class="coverFnHi">2</td> + <td class="coverFnHi">1</td> </tr> <tr> <td class="coverFn"><a href="slca.c.gcov.html#83">slca_get_sai_entry</a></td> - <td class="coverFnHi">2</td> + <td class="coverFnHi">1</td> </tr> <tr> <td class="coverFn"><a href="slca.c.gcov.html#66">slca_vpd_add_loc_code</a></td> - <td class="coverFnHi">74</td> + <td class="coverFnHi">32</td> </tr> <tr> <td class="coverFn"><a href="slca.c.gcov.html#53">slca_get_loc_code_index</a></td> - <td class="coverFnHi">88</td> + <td class="coverFnHi">37</td> </tr> <tr> <td class="coverFn"><a href="slca.c.gcov.html#9">slca_get_entry</a></td> - <td class="coverFnHi">318</td> + <td class="coverFnHi">145</td> </tr> </table> <br> diff --git a/coverage-report/hdata/slca.c.func.html b/coverage-report/hdata/slca.c.func.html index 07e1491..34c44c0 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">5</td> @@ -70,19 +70,19 @@ </tr> <tr> <td class="coverFn"><a href="slca.c.gcov.html#130">slca_dt_add_sai_node</a></td> - <td class="coverFnHi">2</td> + <td class="coverFnHi">1</td> </tr> <tr> <td class="coverFn"><a href="slca.c.gcov.html#9">slca_get_entry</a></td> - <td class="coverFnHi">318</td> + <td class="coverFnHi">145</td> </tr> <tr> <td class="coverFn"><a href="slca.c.gcov.html#53">slca_get_loc_code_index</a></td> - <td class="coverFnHi">88</td> + <td class="coverFnHi">37</td> </tr> <tr> <td class="coverFn"><a href="slca.c.gcov.html#83">slca_get_sai_entry</a></td> - <td class="coverFnHi">2</td> + <td class="coverFnHi">1</td> </tr> <tr> <td class="coverFn"><a href="slca.c.gcov.html#40">slca_get_vpd_name</a></td> @@ -90,7 +90,7 @@ </tr> <tr> <td class="coverFn"><a href="slca.c.gcov.html#66">slca_vpd_add_loc_code</a></td> - <td class="coverFnHi">74</td> + <td class="coverFnHi">32</td> </tr> </table> <br> diff --git a/coverage-report/hdata/slca.c.gcov.html b/coverage-report/hdata/slca.c.gcov.html index 9a5f4a9..cc8a7d1 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">5</td> @@ -79,31 +79,31 @@ <a name="8"><span class="lineNum"> 8 </span> : : #include "spira.h"</a> <a name="9"><span class="lineNum"> 9 </span> : : #include "hdata.h"</a> <a name="10"><span class="lineNum"> 10 </span> : : </a> -<a name="11"><span class="lineNum"> 11 </span> :<span class="lineCov"> 318 : const struct slca_entry *slca_get_entry(uint16_t slca_index)</span></a> +<a name="11"><span class="lineNum"> 11 </span> :<span class="lineCov"> 145 : const struct slca_entry *slca_get_entry(uint16_t slca_index)</span></a> <a name="12"><span class="lineNum"> 12 </span> : : {</a> <a name="13"><span class="lineNum"> 13 </span> : : struct HDIF_common_hdr *slca_hdr;</a> <a name="14"><span class="lineNum"> 14 </span> : : int count;</a> <a name="15"><span class="lineNum"> 15 </span> : : </a> -<a name="16"><span class="lineNum"> 16 </span> :<span class="lineCov"> 318 : slca_hdr = get_hdif(&spira.ntuples.slca, SLCA_HDIF_SIG);</span></a> -<a name="17"><span class="lineNum"> 17 </span> :<span class="lineCov"> 318 : if (!slca_hdr) {</span></a> +<a name="16"><span class="lineNum"> 16 </span> :<span class="lineCov"> 145 : slca_hdr = get_hdif(&spiras->ntuples.slca, SLCA_HDIF_SIG);</span></a> +<a name="17"><span class="lineNum"> 17 </span> :<span class="lineCov"> 145 : if (!slca_hdr) {</span></a> <a name="18"><span class="lineNum"> 18 </span> :<span class="lineNoCov"> 0 : prerror("SLCA Invalid\n");</span></a> <a name="19"><span class="lineNum"> 19 </span> :<span class="lineNoCov"> 0 : return NULL;</span></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> :<span class="lineCov"> 318 : count = HDIF_get_iarray_size(slca_hdr, SLCA_IDATA_ARRAY);</span></a> -<a name="23"><span class="lineNum"> 23 </span> :<span class="lineCov"> 318 : if (count < 0) {</span></a> +<a name="22"><span class="lineNum"> 22 </span> :<span class="lineCov"> 145 : count = HDIF_get_iarray_size(slca_hdr, SLCA_IDATA_ARRAY);</span></a> +<a name="23"><span class="lineNum"> 23 </span> :<span class="lineCov"> 145 : if (count < 0) {</span></a> <a name="24"><span class="lineNum"> 24 </span> :<span class="lineNoCov"> 0 : prerror("SLCA: Can't find SLCA array size!\n");</span></a> <a name="25"><span class="lineNum"> 25 </span> :<span class="lineNoCov"> 0 : return NULL;</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> :<span class="lineCov"> 318 : if (slca_index < count) {</span></a> +<a name="28"><span class="lineNum"> 28 </span> :<span class="lineCov"> 145 : if (slca_index < count) {</span></a> <a name="29"><span class="lineNum"> 29 </span> : : const struct slca_entry *s_entry;</a> <a name="30"><span class="lineNum"> 30 </span> : : unsigned int entry_sz;</a> -<a name="31"><span class="lineNum"> 31 </span> :<span class="lineCov"> 318 : s_entry = HDIF_get_iarray_item(slca_hdr, SLCA_IDATA_ARRAY,</span></a> +<a name="31"><span class="lineNum"> 31 </span> :<span class="lineCov"> 145 : s_entry = HDIF_get_iarray_item(slca_hdr, SLCA_IDATA_ARRAY,</span></a> <a name="32"><span class="lineNum"> 32 </span> : : slca_index, &entry_sz);</a> <a name="33"><span class="lineNum"> 33 </span> : : </a> -<a name="34"><span class="lineNum"> 34 </span> :<span class="lineCov"> 318 : if (s_entry && entry_sz >= sizeof(*s_entry))</span></a> -<a name="35"><span class="lineNum"> 35 </span> :<span class="lineCov"> 318 : return s_entry;</span></a> +<a name="34"><span class="lineNum"> 34 </span> :<span class="lineCov"> 145 : if (s_entry && entry_sz >= sizeof(*s_entry))</span></a> +<a name="35"><span class="lineNum"> 35 </span> :<span class="lineCov"> 145 : return s_entry;</span></a> <a name="36"><span class="lineNum"> 36 </span> : : } else</a> <a name="37"><span class="lineNum"> 37 </span> :<span class="lineNoCov"> 0 : prlog(PR_NOTICE,</span></a> <a name="38"><span class="lineNum"> 38 </span> : : "SLCA: Can't find slca_entry for index %d\n", slca_index);</a> @@ -123,72 +123,72 @@ <a name="52"><span class="lineNum"> 52 </span> :<span class="lineNoCov"> 0 : return NULL;</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> :<span class="lineCov"> 88 : const char *slca_get_loc_code_index(uint16_t slca_index)</span></a> +<a name="55"><span class="lineNum"> 55 </span> :<span class="lineCov"> 37 : const char *slca_get_loc_code_index(uint16_t slca_index)</span></a> <a name="56"><span class="lineNum"> 56 </span> : : {</a> <a name="57"><span class="lineNum"> 57 </span> : : const struct slca_entry *s_entry;</a> <a name="58"><span class="lineNum"> 58 </span> : : </a> -<a name="59"><span class="lineNum"> 59 </span> :<span class="lineCov"> 88 : s_entry = slca_get_entry(slca_index);</span></a> -<a name="60"><span class="lineNum"> 60 </span> :<span class="lineCov"> 88 : if (s_entry)</span></a> -<a name="61"><span class="lineNum"> 61 </span> :<span class="lineCov"> 88 : return s_entry->loc_code;</span></a> +<a name="59"><span class="lineNum"> 59 </span> :<span class="lineCov"> 37 : s_entry = slca_get_entry(slca_index);</span></a> +<a name="60"><span class="lineNum"> 60 </span> :<span class="lineCov"> 37 : if (s_entry)</span></a> +<a name="61"><span class="lineNum"> 61 </span> :<span class="lineCov"> 37 : return s_entry->loc_code;</span></a> <a name="62"><span class="lineNum"> 62 </span> : : else</a> <a name="63"><span class="lineNum"> 63 </span> :<span class="lineNoCov"> 0 : prlog(PR_NOTICE, "SLCA: Entry %d bad idata\n", slca_index);</span></a> <a name="64"><span class="lineNum"> 64 </span> : : </a> <a name="65"><span class="lineNum"> 65 </span> :<span class="lineNoCov"> 0 : return NULL;</span></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"> 74 : void slca_vpd_add_loc_code(struct dt_node *node, uint16_t slca_index)</span></a> +<a name="68"><span class="lineNum"> 68 </span> :<span class="lineCov"> 32 : void slca_vpd_add_loc_code(struct dt_node *node, uint16_t slca_index)</span></a> <a name="69"><span class="lineNum"> 69 </span> : : {</a> <a name="70"><span class="lineNum"> 70 </span> : : const char *fru_loc_code;</a> <a name="71"><span class="lineNum"> 71 </span> : : char loc_code[LOC_CODE_SIZE];</a> <a name="72"><span class="lineNum"> 72 </span> : : </a> -<a name="73"><span class="lineNum"> 73 </span> :<span class="lineCov"> 74 : memset(loc_code, 0, sizeof(loc_code));</span></a> -<a name="74"><span class="lineNum"> 74 </span> :<span class="lineCov"> 74 : fru_loc_code = slca_get_loc_code_index(slca_index);</span></a> -<a name="75"><span class="lineNum"> 75 </span> :<span class="lineCov"> 74 : if (!fru_loc_code)</span></a> +<a name="73"><span class="lineNum"> 73 </span> :<span class="lineCov"> 32 : memset(loc_code, 0, sizeof(loc_code));</span></a> +<a name="74"><span class="lineNum"> 74 </span> :<span class="lineCov"> 32 : fru_loc_code = slca_get_loc_code_index(slca_index);</span></a> +<a name="75"><span class="lineNum"> 75 </span> :<span class="lineCov"> 32 : if (!fru_loc_code)</span></a> <a name="76"><span class="lineNum"> 76 </span> :<span class="lineNoCov"> 0 : return;</span></a> <a name="77"><span class="lineNum"> 77 </span> : : </a> -<a name="78"><span class="lineNum"> 78 </span> :<span class="lineCov"> 74 : strncpy(loc_code, fru_loc_code, LOC_CODE_SIZE - 1);</span></a> -<a name="79"><span class="lineNum"> 79 </span> :<span class="lineCov"> 74 : dt_add_property(node, "ibm,loc-code", loc_code, strlen(loc_code) + 1);</span></a> +<a name="78"><span class="lineNum"> 78 </span> :<span class="lineCov"> 32 : strncpy(loc_code, fru_loc_code, LOC_CODE_SIZE - 1);</span></a> +<a name="79"><span class="lineNum"> 79 </span> :<span class="lineCov"> 32 : dt_add_property(node, "ibm,loc-code", loc_code, strlen(loc_code) + 1);</span></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> : : /*</a> <a name="83"><span class="lineNum"> 83 </span> : : * Get System Attention Indicator SLCA entry</a> <a name="84"><span class="lineNum"> 84 </span> : : */</a> -<a name="85"><span class="lineNum"> 85 </span> :<span class="lineCov"> 2 : static const struct slca_entry *slca_get_sai_entry(void)</span></a> +<a name="85"><span class="lineNum"> 85 </span> :<span class="lineCov"> 1 : static const struct slca_entry *slca_get_sai_entry(void)</span></a> <a name="86"><span class="lineNum"> 86 </span> : : {</a> <a name="87"><span class="lineNum"> 87 </span> : : int count;</a> <a name="88"><span class="lineNum"> 88 </span> : : unsigned int i;</a> <a name="89"><span class="lineNum"> 89 </span> : : struct HDIF_common_hdr *slca_hdr;</a> -<a name="90"><span class="lineNum"> 90 </span> :<span class="lineCov"> 2 : uint16_t sai_fru_id = SLCA_SAI_INDICATOR_ID;</span></a> +<a name="90"><span class="lineNum"> 90 </span> :<span class="lineCov"> 1 : uint16_t sai_fru_id = SLCA_SAI_INDICATOR_ID;</span></a> <a name="91"><span class="lineNum"> 91 </span> : : </a> -<a name="92"><span class="lineNum"> 92 </span> :<span class="lineCov"> 2 : slca_hdr = get_hdif(&spira.ntuples.slca, SLCA_HDIF_SIG);</span></a> -<a name="93"><span class="lineNum"> 93 </span> :<span class="lineCov"> 2 : if (!slca_hdr) {</span></a> +<a name="92"><span class="lineNum"> 92 </span> :<span class="lineCov"> 1 : slca_hdr = get_hdif(&spiras->ntuples.slca, SLCA_HDIF_SIG);</span></a> +<a name="93"><span class="lineNum"> 93 </span> :<span class="lineCov"> 1 : if (!slca_hdr) {</span></a> <a name="94"><span class="lineNum"> 94 </span> :<span class="lineNoCov"> 0 : prerror("SLCA Invalid\n");</span></a> <a name="95"><span class="lineNum"> 95 </span> :<span class="lineNoCov"> 0 : return NULL;</span></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> :<span class="lineCov"> 2 : count = HDIF_get_iarray_size(slca_hdr, SLCA_IDATA_ARRAY);</span></a> -<a name="99"><span class="lineNum"> 99 </span> :<span class="lineCov"> 2 : if (count < 0) {</span></a> +<a name="98"><span class="lineNum"> 98 </span> :<span class="lineCov"> 1 : count = HDIF_get_iarray_size(slca_hdr, SLCA_IDATA_ARRAY);</span></a> +<a name="99"><span class="lineNum"> 99 </span> :<span class="lineCov"> 1 : if (count < 0) {</span></a> <a name="100"><span class="lineNum"> 100 </span> :<span class="lineNoCov"> 0 : prerror("SLCA: Can't find SLCA array size!\n");</span></a> <a name="101"><span class="lineNum"> 101 </span> :<span class="lineNoCov"> 0 : return NULL;</span></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> :<span class="lineCov"> 2 : if (proc_gen >= proc_gen_p9 && dt_find_by_path(dt_root, "fsps"))</span></a> +<a name="104"><span class="lineNum"> 104 </span> :<span class="lineCov"> 1 : if (proc_gen >= proc_gen_p9 && dt_find_by_path(dt_root, "fsps"))</span></a> <a name="105"><span class="lineNum"> 105 </span> :<span class="lineNoCov"> 0 : sai_fru_id = SLCA_SYSTEM_VPD_ID;</span></a> <a name="106"><span class="lineNum"> 106 </span> : : </a> -<a name="107"><span class="lineNum"> 107 </span> :<span class="lineCov"> 16 : for (i = 0; i < count; i++) {</span></a> +<a name="107"><span class="lineNum"> 107 </span> :<span class="lineCov"> 11 : for (i = 0; i < count; i++) {</span></a> <a name="108"><span class="lineNum"> 108 </span> : : const struct slca_entry *s_entry;</a> <a name="109"><span class="lineNum"> 109 </span> : : unsigned int entry_sz;</a> <a name="110"><span class="lineNum"> 110 </span> : : </a> -<a name="111"><span class="lineNum"> 111 </span> :<span class="lineCov"> 16 : s_entry = HDIF_get_iarray_item(slca_hdr, SLCA_IDATA_ARRAY,</span></a> +<a name="111"><span class="lineNum"> 111 </span> :<span class="lineCov"> 11 : s_entry = HDIF_get_iarray_item(slca_hdr, SLCA_IDATA_ARRAY,</span></a> <a name="112"><span class="lineNum"> 112 </span> : : i, &entry_sz);</a> -<a name="113"><span class="lineNum"> 113 </span> :<span class="lineCov"> 16 : if (s_entry &&</span></a> -<a name="114"><span class="lineNum"> 114 </span> :<span class="lineCov"> 16 : VPD_ID(s_entry->fru_id[0],</span></a> -<a name="115"><span class="lineNum"> 115 </span> :<span class="lineCov"> 16 : s_entry->fru_id[1]) == sai_fru_id) {</span></a> -<a name="116"><span class="lineNum"> 116 </span> :<span class="lineCov"> 2 : prlog(PR_TRACE, "SLCA: SAI index: 0x%x\n",</span></a> +<a name="113"><span class="lineNum"> 113 </span> :<span class="lineCov"> 11 : if (s_entry &&</span></a> +<a name="114"><span class="lineNum"> 114 </span> :<span class="lineCov"> 11 : VPD_ID(s_entry->fru_id[0],</span></a> +<a name="115"><span class="lineNum"> 115 </span> :<span class="lineCov"> 11 : s_entry->fru_id[1]) == sai_fru_id) {</span></a> +<a name="116"><span class="lineNum"> 116 </span> :<span class="lineCov"> 1 : prlog(PR_TRACE, "SLCA: SAI index: 0x%x\n",</span></a> <a name="117"><span class="lineNum"> 117 </span> : : s_entry->my_index);</a> -<a name="118"><span class="lineNum"> 118 </span> :<span class="lineCov"> 2 : prlog(PR_TRACE, "SLCA: SAI location code: %s\n",</span></a> +<a name="118"><span class="lineNum"> 118 </span> :<span class="lineCov"> 1 : prlog(PR_TRACE, "SLCA: SAI location code: %s\n",</span></a> <a name="119"><span class="lineNum"> 119 </span> : : s_entry->loc_code);</a> -<a name="120"><span class="lineNum"> 120 </span> :<span class="lineCov"> 2 : return s_entry;</span></a> +<a name="120"><span class="lineNum"> 120 </span> :<span class="lineCov"> 1 : return s_entry;</span></a> <a name="121"><span class="lineNum"> 121 </span> : : }</a> <a name="122"><span class="lineNum"> 122 </span> : : }</a> <a name="123"><span class="lineNum"> 123 </span> : : </a> @@ -200,33 +200,33 @@ <a name="129"><span class="lineNum"> 129 </span> : : * code (FRU ID = SA). Add this information to device tree</a> <a name="130"><span class="lineNum"> 130 </span> : : * (under '/ibm,opal/led').</a> <a name="131"><span class="lineNum"> 131 </span> : : */</a> -<a name="132"><span class="lineNum"> 132 </span> :<span class="lineCov"> 2 : void slca_dt_add_sai_node(void)</span></a> +<a name="132"><span class="lineNum"> 132 </span> :<span class="lineCov"> 1 : void slca_dt_add_sai_node(void)</span></a> <a name="133"><span class="lineNum"> 133 </span> : : {</a> <a name="134"><span class="lineNum"> 134 </span> : : const struct slca_entry *s_entry;</a> <a name="135"><span class="lineNum"> 135 </span> : : struct dt_node *led_node, *sai_node;</a> <a name="136"><span class="lineNum"> 136 </span> : : </a> -<a name="137"><span class="lineNum"> 137 </span> :<span class="lineCov"> 2 : s_entry = slca_get_sai_entry();</span></a> -<a name="138"><span class="lineNum"> 138 </span> :<span class="lineCov"> 2 : if (!s_entry)</span></a> +<a name="137"><span class="lineNum"> 137 </span> :<span class="lineCov"> 1 : s_entry = slca_get_sai_entry();</span></a> +<a name="138"><span class="lineNum"> 138 </span> :<span class="lineCov"> 1 : if (!s_entry)</span></a> <a name="139"><span class="lineNum"> 139 </span> :<span class="lineNoCov"> 0 : return;</span></a> <a name="140"><span class="lineNum"> 140 </span> : : </a> <a name="141"><span class="lineNum"> 141 </span> : : /* Create /ibm,opal node, if its not created already */</a> -<a name="142"><span class="lineNum"> 142 </span> :<span class="lineCov"> 2 : if (!opal_node)</span></a> +<a name="142"><span class="lineNum"> 142 </span> :<span class="lineCov"> 1 : if (!opal_node)</span></a> <a name="143"><span class="lineNum"> 143 </span> :<span class="lineNoCov"> 0 : return;</span></a> <a name="144"><span class="lineNum"> 144 </span> : : </a> <a name="145"><span class="lineNum"> 145 </span> : : /* Crete LED parent node */</a> -<a name="146"><span class="lineNum"> 146 </span> :<span class="lineCov"> 2 : led_node = dt_find_by_path(opal_node, DT_PROPERTY_LED_NODE);</span></a> -<a name="147"><span class="lineNum"> 147 </span> :<span class="lineCov"> 2 : if (!led_node)</span></a> +<a name="146"><span class="lineNum"> 146 </span> :<span class="lineCov"> 1 : led_node = dt_find_by_path(opal_node, DT_PROPERTY_LED_NODE);</span></a> +<a name="147"><span class="lineNum"> 147 </span> :<span class="lineCov"> 1 : if (!led_node)</span></a> <a name="148"><span class="lineNum"> 148 </span> :<span class="lineNoCov"> 0 : return;</span></a> <a name="149"><span class="lineNum"> 149 </span> : : </a> -<a name="150"><span class="lineNum"> 150 </span> :<span class="lineCov"> 2 : if (s_entry->loc_code_len == 0 ||</span></a> -<a name="151"><span class="lineNum"> 151 </span> :<span class="lineCov"> 2 : s_entry->loc_code_len > LOC_CODE_SIZE)</span></a> +<a name="150"><span class="lineNum"> 150 </span> :<span class="lineCov"> 1 : if (s_entry->loc_code_len == 0 ||</span></a> +<a name="151"><span class="lineNum"> 151 </span> :<span class="lineCov"> 1 : s_entry->loc_code_len > LOC_CODE_SIZE)</span></a> <a name="152"><span class="lineNum"> 152 </span> :<span class="lineNoCov"> 0 : return;</span></a> <a name="153"><span class="lineNum"> 153 </span> : : </a> <a name="154"><span class="lineNum"> 154 </span> : : /* Create SAI node */</a> -<a name="155"><span class="lineNum"> 155 </span> :<span class="lineCov"> 2 : sai_node = dt_new(led_node, s_entry->loc_code);</span></a> -<a name="156"><span class="lineNum"> 156 </span> :<span class="lineCov"> 2 : assert(sai_node);</span></a> +<a name="155"><span class="lineNum"> 155 </span> :<span class="lineCov"> 1 : sai_node = dt_new(led_node, s_entry->loc_code);</span></a> +<a name="156"><span class="lineNum"> 156 </span> :<span class="lineCov"> 1 : assert(sai_node);</span></a> <a name="157"><span class="lineNum"> 157 </span> : : </a> -<a name="158"><span class="lineNum"> 158 </span> :<span class="lineCov"> 2 : dt_add_property_string(sai_node,</span></a> +<a name="158"><span class="lineNum"> 158 </span> :<span class="lineCov"> 1 : dt_add_property_string(sai_node,</span></a> <a name="159"><span class="lineNum"> 159 </span> : : DT_PROPERTY_LED_TYPES, LED_TYPE_ATTENTION);</a> <a name="160"><span class="lineNum"> 160 </span> : : }</a> </pre> diff --git a/coverage-report/hdata/spira.c.func-sort-c.html b/coverage-report/hdata/spira.c.func-sort-c.html index a757ea9..6c78862 100644 --- a/coverage-report/hdata/spira.c.func-sort-c.html +++ b/coverage-report/hdata/spira.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">385</td> - <td class="headerCovTableEntry">794</td> - <td class="headerCovTableEntryLo">48.5 %</td> + <td class="headerCovTableEntry">358</td> + <td class="headerCovTableEntry">761</td> + <td class="headerCovTableEntryLo">47.0 %</td> </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> - <td class="headerCovTableEntry">29</td> - <td class="headerCovTableEntry">37</td> - <td class="headerCovTableEntryMed">78.4 %</td> + <td class="headerCovTableEntry">28</td> + <td class="headerCovTableEntry">36</td> + <td class="headerCovTableEntryMed">77.8 %</td> </tr> <tr> <td></td> @@ -69,152 +69,148 @@ <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="spira.c.gcov.html#511">add_ecid_data</a></td> + <td class="coverFn"><a href="spira.c.gcov.html#469">add_ecid_data</a></td> <td class="coverFnLo">0</td> </tr> <tr> - <td class="coverFn"><a href="spira.c.gcov.html#1576">add_npu</a></td> + <td class="coverFn"><a href="spira.c.gcov.html#1506">add_npu</a></td> <td class="coverFnLo">0</td> </tr> <tr> - <td class="coverFn"><a href="spira.c.gcov.html#1090">add_opal_dump_node</a></td> + <td class="coverFn"><a href="spira.c.gcov.html#1020">add_opal_dump_node</a></td> <td class="coverFnLo">0</td> </tr> <tr> - <td class="coverFn"><a href="spira.c.gcov.html#491">add_vas_node</a></td> + <td class="coverFn"><a href="spira.c.gcov.html#449">add_vas_node</a></td> <td class="coverFnLo">0</td> </tr> <tr> - <td class="coverFn"><a href="spira.c.gcov.html#462">add_xive_node</a></td> + <td class="coverFn"><a href="spira.c.gcov.html#420">add_xive_node</a></td> <td class="coverFnLo">0</td> </tr> <tr> - <td class="coverFn"><a href="spira.c.gcov.html#1002">dt_init_secureboot_node</a></td> + <td class="coverFn"><a href="spira.c.gcov.html#932">dt_init_secureboot_node</a></td> <td class="coverFnLo">0</td> </tr> <tr> - <td class="coverFn"><a href="spira.c.gcov.html#1436">pcid_to_topology_idx</a></td> + <td class="coverFn"><a href="spira.c.gcov.html#1366">pcid_to_topology_idx</a></td> <td class="coverFnLo">0</td> </tr> <tr> - <td class="coverFn"><a href="spira.c.gcov.html#375">xscom_to_pcrd</a></td> + <td class="coverFn"><a href="spira.c.gcov.html#333">xscom_to_pcrd</a></td> <td class="coverFnLo">0</td> </tr> <tr> - <td class="coverFn"><a href="spira.c.gcov.html#838">add_chiptod_new</a></td> - <td class="coverFnHi">2</td> + <td class="coverFn"><a href="spira.c.gcov.html#768">add_chiptod</a></td> + <td class="coverFnHi">1</td> </tr> <tr> - <td class="coverFn"><a href="spira.c.gcov.html#810">add_chiptod_old</a></td> - <td class="coverFnHi">2</td> + <td class="coverFn"><a href="spira.c.gcov.html#1312">add_iplparams</a></td> + <td class="coverFnHi">1</td> </tr> <tr> - <td class="coverFn"><a href="spira.c.gcov.html#1382">add_iplparams</a></td> - <td class="coverFnHi">2</td> + <td class="coverFn"><a href="spira.c.gcov.html#1260">add_iplparams_features</a></td> + <td class="coverFnHi">1</td> </tr> <tr> - <td class="coverFn"><a href="spira.c.gcov.html#1330">add_iplparams_features</a></td> - <td class="coverFnHi">2</td> + <td class="coverFn"><a href="spira.c.gcov.html#1143">add_iplparams_ipl_params</a></td> + <td class="coverFnHi">1</td> </tr> <tr> - <td class="coverFn"><a href="spira.c.gcov.html#1213">add_iplparams_ipl_params</a></td> - <td class="coverFnHi">2</td> + <td class="coverFn"><a href="spira.c.gcov.html#1237">add_iplparams_platform_dump</a></td> + <td class="coverFnHi">1</td> </tr> <tr> - <td class="coverFn"><a href="spira.c.gcov.html#1307">add_iplparams_platform_dump</a></td> - <td class="coverFnHi">2</td> + <td class="coverFn"><a href="spira.c.gcov.html#1196">add_iplparams_serials</a></td> + <td class="coverFnHi">1</td> </tr> <tr> - <td class="coverFn"><a href="spira.c.gcov.html#1266">add_iplparams_serials</a></td> - <td class="coverFnHi">2</td> + <td class="coverFn"><a href="spira.c.gcov.html#1037">add_iplparams_sys_params</a></td> + <td class="coverFnHi">1</td> </tr> <tr> - <td class="coverFn"><a href="spira.c.gcov.html#1107">add_iplparams_sys_params</a></td> - <td class="coverFnHi">2</td> + <td class="coverFn"><a href="spira.c.gcov.html#894">add_nmmu</a></td> + <td class="coverFnHi">1</td> </tr> <tr> - <td class="coverFn"><a href="spira.c.gcov.html#964">add_nmmu</a></td> - <td class="coverFnHi">2</td> + <td class="coverFn"><a href="spira.c.gcov.html#1674">add_npus</a></td> + <td class="coverFnHi">1</td> </tr> <tr> - <td class="coverFn"><a href="spira.c.gcov.html#1744">add_npus</a></td> - <td class="coverFnHi">2</td> + <td class="coverFn"><a href="spira.c.gcov.html#867">add_nx</a></td> + <td class="coverFnHi">1</td> </tr> <tr> - <td class="coverFn"><a href="spira.c.gcov.html#937">add_nx</a></td> - <td class="coverFnHi">2</td> + <td class="coverFn"><a href="spira.c.gcov.html#1444">add_stop_levels</a></td> + <td class="coverFnHi">1</td> </tr> <tr> - <td class="coverFn"><a href="spira.c.gcov.html#1514">add_stop_levels</a></td> - <td class="coverFnHi">2</td> + <td class="coverFn"><a href="spira.c.gcov.html#683">add_xscom</a></td> + <td class="coverFnHi">1</td> </tr> <tr> - <td class="coverFn"><a href="spira.c.gcov.html#725">add_xscom</a></td> - <td class="coverFnHi">2</td> + <td class="coverFn"><a href="spira.c.gcov.html#557">add_xscom_sppcrd</a></td> + <td class="coverFnHi">1</td> </tr> <tr> - <td class="coverFn"><a href="spira.c.gcov.html#599">add_xscom_sppcrd</a></td> - <td class="coverFnHi">2</td> + <td class="coverFn"><a href="spira.c.gcov.html#1395">dt_init_led_node</a></td> + <td class="coverFnHi">1</td> </tr> <tr> - <td class="coverFn"><a href="spira.c.gcov.html#1465">dt_init_led_node</a></td> - <td class="coverFnHi">2</td> + <td class="coverFn"><a href="spira.c.gcov.html#1709">find_spiras</a></td> + <td class="coverFnHi">1</td> </tr> <tr> - <td class="coverFn"><a href="spira.c.gcov.html#1782">fixup_spira</a></td> - <td class="coverFnHi">2</td> + <td class="coverFn"><a href="spira.c.gcov.html#1410">hostservices_parse</a></td> + <td class="coverFnHi">1</td> </tr> <tr> - <td class="coverFn"><a href="spira.c.gcov.html#1480">hostservices_parse</a></td> - <td class="coverFnHi">2</td> + <td class="coverFn"><a href="spira.c.gcov.html#980">opal_dump_add_mpipl_boot</a></td> + <td class="coverFnHi">1</td> </tr> <tr> - <td class="coverFn"><a href="spira.c.gcov.html#1050">opal_dump_add_mpipl_boot</a></td> - <td class="coverFnHi">2</td> + <td class="coverFn"><a href="spira.c.gcov.html#1742">parse_hdat</a></td> + <td class="coverFnHi">1</td> </tr> <tr> - <td class="coverFn"><a href="spira.c.gcov.html#1838">parse_hdat</a></td> - <td class="coverFnHi">2</td> + <td class="coverFn"><a href="spira.c.gcov.html#1729">update_spirah_addr</a></td> + <td class="coverFnHi">1</td> </tr> <tr> - <td class="coverFn"><a href="spira.c.gcov.html#1825">update_spirah_addr</a></td> + <td class="coverFn"><a href="spira.c.gcov.html#717">add_chiptod_node</a></td> <td class="coverFnHi">2</td> </tr> <tr> - <td class="coverFn"><a href="spira.c.gcov.html#759">add_chiptod_node</a></td> - <td class="coverFnHi">6</td> + <td class="coverFn"><a href="spira.c.gcov.html#824">add_nx_node</a></td> + <td class="coverFnHi">2</td> </tr> <tr> - <td class="coverFn"><a href="spira.c.gcov.html#894">add_nx_node</a></td> - <td class="coverFnHi">6</td> + <td class="coverFn"><a href="spira.c.gcov.html#377">add_psihb_node</a></td> + <td class="coverFnHi">2</td> </tr> <tr> - <td class="coverFn"><a href="spira.c.gcov.html#419">add_psihb_node</a></td> - <td class="coverFnHi">6</td> + <td class="coverFn"><a href="spira.c.gcov.html#514">add_xscom_add_pcia_assoc</a></td> + <td class="coverFnHi">2</td> </tr> <tr> - <td class="coverFn"><a href="spira.c.gcov.html#556">add_xscom_add_pcia_assoc</a></td> - <td class="coverFnHi">6</td> + <td class="coverFn"><a href="spira.c.gcov.html#257">add_xscom_node</a></td> + <td class="coverFnHi">2</td> </tr> <tr> - <td class="coverFn"><a href="spira.c.gcov.html#299">add_xscom_node</a></td> + <td class="coverFn"><a href="spira.c.gcov.html#363">find_xscom_for_chip</a></td> <td class="coverFnHi">6</td> </tr> <tr> - <td class="coverFn"><a href="spira.c.gcov.html#405">find_xscom_for_chip</a></td> - <td class="coverFnHi">18</td> - </tr> - <tr> - <td class="coverFn"><a href="spira.c.gcov.html#1410">pcid_to_chip_id</a></td> - <td class="coverFnHi">79</td> + <td class="coverFn"><a href="spira.c.gcov.html#1340">pcid_to_chip_id</a></td> + <td class="coverFnHi">17</td> </tr> <tr> - <td class="coverFn"><a href="spira.c.gcov.html#290">get_xscom_id</a></td> - <td class="coverFnHi">103</td> + <td class="coverFn"><a href="spira.c.gcov.html#248">get_xscom_id</a></td> + <td class="coverFnHi">25</td> </tr> <tr> - <td class="coverFn"><a href="spira.c.gcov.html#254">__get_hdif</a></td> - <td class="coverFnHi">545</td> + <td class="coverFn"><a href="spira.c.gcov.html#212">__get_hdif</a></td> + <td class="coverFnHi">216</td> </tr> </table> <br> diff --git a/coverage-report/hdata/spira.c.func.html b/coverage-report/hdata/spira.c.func.html index 26d2108..973e106 100644 --- a/coverage-report/hdata/spira.c.func.html +++ b/coverage-report/hdata/spira.c.func.html @@ -31,18 +31,18 @@ <td class="headerValue">skiboot.info</td> <td></td> <td class="headerItem">Lines:</td> - <td class="headerCovTableEntry">385</td> - <td class="headerCovTableEntry">794</td> - <td class="headerCovTableEntryLo">48.5 %</td> + <td class="headerCovTableEntry">358</td> + <td class="headerCovTableEntry">761</td> + <td class="headerCovTableEntryLo">47.0 %</td> </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> - <td class="headerCovTableEntry">29</td> - <td class="headerCovTableEntry">37</td> - <td class="headerCovTableEntryMed">78.4 %</td> + <td class="headerCovTableEntry">28</td> + <td class="headerCovTableEntry">36</td> + <td class="headerCovTableEntryMed">77.8 %</td> </tr> <tr> <td></td> @@ -69,151 +69,147 @@ <td width="20%" class="tableHead">Hit count <span class="tableHeadSort"><a href="spira.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="spira.c.gcov.html#254">__get_hdif</a></td> - <td class="coverFnHi">545</td> + <td class="coverFn"><a href="spira.c.gcov.html#212">__get_hdif</a></td> + <td class="coverFnHi">216</td> </tr> <tr> - <td class="coverFn"><a href="spira.c.gcov.html#838">add_chiptod_new</a></td> - <td class="coverFnHi">2</td> - </tr> - <tr> - <td class="coverFn"><a href="spira.c.gcov.html#759">add_chiptod_node</a></td> - <td class="coverFnHi">6</td> + <td class="coverFn"><a href="spira.c.gcov.html#768">add_chiptod</a></td> + <td class="coverFnHi">1</td> </tr> <tr> - <td class="coverFn"><a href="spira.c.gcov.html#810">add_chiptod_old</a></td> + <td class="coverFn"><a href="spira.c.gcov.html#717">add_chiptod_node</a></td> <td class="coverFnHi">2</td> </tr> <tr> - <td class="coverFn"><a href="spira.c.gcov.html#511">add_ecid_data</a></td> + <td class="coverFn"><a href="spira.c.gcov.html#469">add_ecid_data</a></td> <td class="coverFnLo">0</td> </tr> <tr> - <td class="coverFn"><a href="spira.c.gcov.html#1382">add_iplparams</a></td> - <td class="coverFnHi">2</td> + <td class="coverFn"><a href="spira.c.gcov.html#1312">add_iplparams</a></td> + <td class="coverFnHi">1</td> </tr> <tr> - <td class="coverFn"><a href="spira.c.gcov.html#1330">add_iplparams_features</a></td> - <td class="coverFnHi">2</td> + <td class="coverFn"><a href="spira.c.gcov.html#1260">add_iplparams_features</a></td> + <td class="coverFnHi">1</td> </tr> <tr> - <td class="coverFn"><a href="spira.c.gcov.html#1213">add_iplparams_ipl_params</a></td> - <td class="coverFnHi">2</td> + <td class="coverFn"><a href="spira.c.gcov.html#1143">add_iplparams_ipl_params</a></td> + <td class="coverFnHi">1</td> </tr> <tr> - <td class="coverFn"><a href="spira.c.gcov.html#1307">add_iplparams_platform_dump</a></td> - <td class="coverFnHi">2</td> + <td class="coverFn"><a href="spira.c.gcov.html#1237">add_iplparams_platform_dump</a></td> + <td class="coverFnHi">1</td> </tr> <tr> - <td class="coverFn"><a href="spira.c.gcov.html#1266">add_iplparams_serials</a></td> - <td class="coverFnHi">2</td> + <td class="coverFn"><a href="spira.c.gcov.html#1196">add_iplparams_serials</a></td> + <td class="coverFnHi">1</td> </tr> <tr> - <td class="coverFn"><a href="spira.c.gcov.html#1107">add_iplparams_sys_params</a></td> - <td class="coverFnHi">2</td> + <td class="coverFn"><a href="spira.c.gcov.html#1037">add_iplparams_sys_params</a></td> + <td class="coverFnHi">1</td> </tr> <tr> - <td class="coverFn"><a href="spira.c.gcov.html#964">add_nmmu</a></td> - <td class="coverFnHi">2</td> + <td class="coverFn"><a href="spira.c.gcov.html#894">add_nmmu</a></td> + <td class="coverFnHi">1</td> </tr> <tr> - <td class="coverFn"><a href="spira.c.gcov.html#1576">add_npu</a></td> + <td class="coverFn"><a href="spira.c.gcov.html#1506">add_npu</a></td> <td class="coverFnLo">0</td> </tr> <tr> - <td class="coverFn"><a href="spira.c.gcov.html#1744">add_npus</a></td> - <td class="coverFnHi">2</td> + <td class="coverFn"><a href="spira.c.gcov.html#1674">add_npus</a></td> + <td class="coverFnHi">1</td> </tr> <tr> - <td class="coverFn"><a href="spira.c.gcov.html#937">add_nx</a></td> - <td class="coverFnHi">2</td> + <td class="coverFn"><a href="spira.c.gcov.html#867">add_nx</a></td> + <td class="coverFnHi">1</td> </tr> <tr> - <td class="coverFn"><a href="spira.c.gcov.html#894">add_nx_node</a></td> - <td class="coverFnHi">6</td> + <td class="coverFn"><a href="spira.c.gcov.html#824">add_nx_node</a></td> + <td class="coverFnHi">2</td> </tr> <tr> - <td class="coverFn"><a href="spira.c.gcov.html#1090">add_opal_dump_node</a></td> + <td class="coverFn"><a href="spira.c.gcov.html#1020">add_opal_dump_node</a></td> <td class="coverFnLo">0</td> </tr> <tr> - <td class="coverFn"><a href="spira.c.gcov.html#419">add_psihb_node</a></td> - <td class="coverFnHi">6</td> + <td class="coverFn"><a href="spira.c.gcov.html#377">add_psihb_node</a></td> + <td class="coverFnHi">2</td> </tr> <tr> - <td class="coverFn"><a href="spira.c.gcov.html#1514">add_stop_levels</a></td> - <td class="coverFnHi">2</td> + <td class="coverFn"><a href="spira.c.gcov.html#1444">add_stop_levels</a></td> + <td class="coverFnHi">1</td> </tr> <tr> - <td class="coverFn"><a href="spira.c.gcov.html#491">add_vas_node</a></td> + <td class="coverFn"><a href="spira.c.gcov.html#449">add_vas_node</a></td> <td class="coverFnLo">0</td> </tr> <tr> - <td class="coverFn"><a href="spira.c.gcov.html#462">add_xive_node</a></td> + <td class="coverFn"><a href="spira.c.gcov.html#420">add_xive_node</a></td> <td class="coverFnLo">0</td> </tr> <tr> - <td class="coverFn"><a href="spira.c.gcov.html#725">add_xscom</a></td> - <td class="coverFnHi">2</td> + <td class="coverFn"><a href="spira.c.gcov.html#683">add_xscom</a></td> + <td class="coverFnHi">1</td> </tr> <tr> - <td class="coverFn"><a href="spira.c.gcov.html#556">add_xscom_add_pcia_assoc</a></td> - <td class="coverFnHi">6</td> + <td class="coverFn"><a href="spira.c.gcov.html#514">add_xscom_add_pcia_assoc</a></td> + <td class="coverFnHi">2</td> </tr> <tr> - <td class="coverFn"><a href="spira.c.gcov.html#299">add_xscom_node</a></td> - <td class="coverFnHi">6</td> + <td class="coverFn"><a href="spira.c.gcov.html#257">add_xscom_node</a></td> + <td class="coverFnHi">2</td> </tr> <tr> - <td class="coverFn"><a href="spira.c.gcov.html#599">add_xscom_sppcrd</a></td> - <td class="coverFnHi">2</td> + <td class="coverFn"><a href="spira.c.gcov.html#557">add_xscom_sppcrd</a></td> + <td class="coverFnHi">1</td> </tr> <tr> - <td class="coverFn"><a href="spira.c.gcov.html#1465">dt_init_led_node</a></td> - <td class="coverFnHi">2</td> + <td class="coverFn"><a href="spira.c.gcov.html#1395">dt_init_led_node</a></td> + <td class="coverFnHi">1</td> </tr> <tr> - <td class="coverFn"><a href="spira.c.gcov.html#1002">dt_init_secureboot_node</a></td> + <td class="coverFn"><a href="spira.c.gcov.html#932">dt_init_secureboot_node</a></td> <td class="coverFnLo">0</td> </tr> <tr> - <td class="coverFn"><a href="spira.c.gcov.html#405">find_xscom_for_chip</a></td> - <td class="coverFnHi">18</td> + <td class="coverFn"><a href="spira.c.gcov.html#1709">find_spiras</a></td> + <td class="coverFnHi">1</td> </tr> <tr> - <td class="coverFn"><a href="spira.c.gcov.html#1782">fixup_spira</a></td> - <td class="coverFnHi">2</td> + <td class="coverFn"><a href="spira.c.gcov.html#363">find_xscom_for_chip</a></td> + <td class="coverFnHi">6</td> </tr> <tr> - <td class="coverFn"><a href="spira.c.gcov.html#290">get_xscom_id</a></td> - <td class="coverFnHi">103</td> + <td class="coverFn"><a href="spira.c.gcov.html#248">get_xscom_id</a></td> + <td class="coverFnHi">25</td> </tr> <tr> - <td class="coverFn"><a href="spira.c.gcov.html#1480">hostservices_parse</a></td> - <td class="coverFnHi">2</td> + <td class="coverFn"><a href="spira.c.gcov.html#1410">hostservices_parse</a></td> + <td class="coverFnHi">1</td> </tr> <tr> - <td class="coverFn"><a href="spira.c.gcov.html#1050">opal_dump_add_mpipl_boot</a></td> - <td class="coverFnHi">2</td> + <td class="coverFn"><a href="spira.c.gcov.html#980">opal_dump_add_mpipl_boot</a></td> + <td class="coverFnHi">1</td> </tr> <tr> - <td class="coverFn"><a href="spira.c.gcov.html#1838">parse_hdat</a></td> - <td class="coverFnHi">2</td> + <td class="coverFn"><a href="spira.c.gcov.html#1742">parse_hdat</a></td> + <td class="coverFnHi">1</td> </tr> <tr> - <td class="coverFn"><a href="spira.c.gcov.html#1410">pcid_to_chip_id</a></td> - <td class="coverFnHi">79</td> + <td class="coverFn"><a href="spira.c.gcov.html#1340">pcid_to_chip_id</a></td> + <td class="coverFnHi">17</td> </tr> <tr> - <td class="coverFn"><a href="spira.c.gcov.html#1436">pcid_to_topology_idx</a></td> + <td class="coverFn"><a href="spira.c.gcov.html#1366">pcid_to_topology_idx</a></td> <td class="coverFnLo">0</td> </tr> <tr> - <td class="coverFn"><a href="spira.c.gcov.html#1825">update_spirah_addr</a></td> - <td class="coverFnHi">2</td> + <td class="coverFn"><a href="spira.c.gcov.html#1729">update_spirah_addr</a></td> + <td class="coverFnHi">1</td> </tr> <tr> - <td class="coverFn"><a href="spira.c.gcov.html#375">xscom_to_pcrd</a></td> + <td class="coverFn"><a href="spira.c.gcov.html#333">xscom_to_pcrd</a></td> <td class="coverFnLo">0</td> </tr> </table> diff --git a/coverage-report/hdata/spira.c.gcov.html b/coverage-report/hdata/spira.c.gcov.html index 3f15f53..c6b8153 100644 --- a/coverage-report/hdata/spira.c.gcov.html +++ b/coverage-report/hdata/spira.c.gcov.html @@ -31,18 +31,18 @@ <td class="headerValue">skiboot.info</td> <td></td> <td class="headerItem">Lines:</td> - <td class="headerCovTableEntry">385</td> - <td class="headerCovTableEntry">794</td> - <td class="headerCovTableEntryLo">48.5 %</td> + <td class="headerCovTableEntry">358</td> + <td class="headerCovTableEntry">761</td> + <td class="headerCovTableEntryLo">47.0 %</td> </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> - <td class="headerCovTableEntry">29</td> - <td class="headerCovTableEntry">37</td> - <td class="headerCovTableEntryMed">78.4 %</td> + <td class="headerCovTableEntry">28</td> + <td class="headerCovTableEntry">36</td> + <td class="headerCovTableEntryMed">77.8 %</td> </tr> <tr> <td></td> @@ -192,1801 +192,1708 @@ <a name="121"><span class="lineNum"> 121 </span> : : },</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> : : /* SP Interface Root Array, aka SPIRA */</a> -<a name="125"><span class="lineNum"> 125 </span> : : __section(".spira.data") struct spira spira = {</a> -<a name="126"><span class="lineNum"> 126 </span> : : .hdr = HDIF_SIMPLE_HDR("SPIRA ", SPIRA_VERSION, struct spira),</a> -<a name="127"><span class="lineNum"> 127 </span> : : .ntuples_ptr = HDIF_IDATA_PTR(offsetof(struct spira, ntuples),</a> -<a name="128"><span class="lineNum"> 128 </span> : : sizeof(struct spira_ntuples)),</a> +<a name="124"><span class="lineNum"> 124 </span> : : /* The Hypervisor SPIRA-H Structure */</a> +<a name="125"><span class="lineNum"> 125 </span> : : __section(".spirah.data") struct spirah spirah = {</a> +<a name="126"><span class="lineNum"> 126 </span> : : .hdr = HDIF_SIMPLE_HDR(SPIRAH_HDIF_SIG, SPIRAH_VERSION, struct spirah),</a> +<a name="127"><span class="lineNum"> 127 </span> : : .ntuples_ptr = HDIF_IDATA_PTR(offsetof(struct spirah, ntuples),</a> +<a name="128"><span class="lineNum"> 128 </span> : : sizeof(struct spirah_ntuples)),</a> <a name="129"><span class="lineNum"> 129 </span> : : .ntuples = {</a> <a name="130"><span class="lineNum"> 130 </span> : : .array_hdr = {</a> <a name="131"><span class="lineNum"> 131 </span> : : .offset = CPU_TO_BE32(HDIF_ARRAY_OFFSET),</a> -<a name="132"><span class="lineNum"> 132 </span> : : .ecnt = CPU_TO_BE32(SPIRA_NTUPLES_COUNT),</a> +<a name="132"><span class="lineNum"> 132 </span> : : .ecnt = CPU_TO_BE32(SPIRAH_NTUPLES_COUNT),</a> <a name="133"><span class="lineNum"> 133 </span> : : .esize</a> <a name="134"><span class="lineNum"> 134 </span> : : = CPU_TO_BE32(sizeof(struct spira_ntuple)),</a> <a name="135"><span class="lineNum"> 135 </span> : : .eactsz = CPU_TO_BE32(0x18),</a> <a name="136"><span class="lineNum"> 136 </span> : : },</a> -<a name="137"><span class="lineNum"> 137 </span> : : /* We only populate some n-tuples */</a> -<a name="138"><span class="lineNum"> 138 </span> : : .proc_init = {</a> -<a name="139"><span class="lineNum"> 139 </span> : : .addr = CPU_TO_BE64(PROCIN_OFF),</a> +<a name="137"><span class="lineNum"> 137 </span> : : /* Host Data Areas */</a> +<a name="138"><span class="lineNum"> 138 </span> : : .hs_data_area = {</a> +<a name="139"><span class="lineNum"> 139 </span> : : .addr = CPU_TO_BE64(SPIRA_HEAP_BASE),</a> <a name="140"><span class="lineNum"> 140 </span> : : .alloc_cnt = CPU_TO_BE16(1),</a> -<a name="141"><span class="lineNum"> 141 </span> : : .act_cnt = CPU_TO_BE16(1),</a> -<a name="142"><span class="lineNum"> 142 </span> : : .alloc_len</a> -<a name="143"><span class="lineNum"> 143 </span> : : = CPU_TO_BE32(sizeof(struct proc_init_data)),</a> -<a name="144"><span class="lineNum"> 144 </span> : : },</a> -<a name="145"><span class="lineNum"> 145 </span> : : .heap = {</a> -<a name="146"><span class="lineNum"> 146 </span> : : .addr = CPU_TO_BE64(SPIRA_HEAP_BASE),</a> -<a name="147"><span class="lineNum"> 147 </span> : : .alloc_cnt = CPU_TO_BE16(1),</a> -<a name="148"><span class="lineNum"> 148 </span> : : .alloc_len = CPU_TO_BE32(SPIRA_HEAP_SIZE),</a> -<a name="149"><span class="lineNum"> 149 </span> : : },</a> -<a name="150"><span class="lineNum"> 150 </span> : : .mdump_src = {</a> -<a name="151"><span class="lineNum"> 151 </span> : : .addr = CPU_TO_BE64(MDST_TABLE_OFF),</a> -<a name="152"><span class="lineNum"> 152 </span> : : .alloc_cnt = CPU_TO_BE16(ARRAY_SIZE(init_mdst_table)),</a> -<a name="153"><span class="lineNum"> 153 </span> : : .act_cnt = CPU_TO_BE16(ARRAY_SIZE(init_mdst_table)),</a> -<a name="154"><span class="lineNum"> 154 </span> : : .alloc_len =</a> -<a name="155"><span class="lineNum"> 155 </span> : : CPU_TO_BE32(sizeof(init_mdst_table)),</a> -<a name="156"><span class="lineNum"> 156 </span> : : },</a> -<a name="157"><span class="lineNum"> 157 </span> : : .cpu_ctrl = {</a> -<a name="158"><span class="lineNum"> 158 </span> : : .addr = CPU_TO_BE64(CPU_CTL_INIT_DATA_OFF),</a> -<a name="159"><span class="lineNum"> 159 </span> : : .alloc_cnt = CPU_TO_BE16(1),</a> -<a name="160"><span class="lineNum"> 160 </span> : : .act_cnt = CPU_TO_BE16(1),</a> -<a name="161"><span class="lineNum"> 161 </span> : : .alloc_len = CPU_TO_BE32(sizeof(cpu_ctl_init_data)),</a> -<a name="162"><span class="lineNum"> 162 </span> : : },</a> -<a name="163"><span class="lineNum"> 163 </span> : : },</a> -<a name="164"><span class="lineNum"> 164 </span> : : };</a> -<a name="165"><span class="lineNum"> 165 </span> : : </a> -<a name="166"><span class="lineNum"> 166 </span> : : /* The Hypervisor SPIRA-H Structure */</a> -<a name="167"><span class="lineNum"> 167 </span> : : __section(".spirah.data") struct spirah spirah = {</a> -<a name="168"><span class="lineNum"> 168 </span> : : .hdr = HDIF_SIMPLE_HDR(SPIRAH_HDIF_SIG, SPIRAH_VERSION, struct spirah),</a> -<a name="169"><span class="lineNum"> 169 </span> : : .ntuples_ptr = HDIF_IDATA_PTR(offsetof(struct spirah, ntuples),</a> -<a name="170"><span class="lineNum"> 170 </span> : : sizeof(struct spirah_ntuples)),</a> -<a name="171"><span class="lineNum"> 171 </span> : : .ntuples = {</a> -<a name="172"><span class="lineNum"> 172 </span> : : .array_hdr = {</a> -<a name="173"><span class="lineNum"> 173 </span> : : .offset = CPU_TO_BE32(HDIF_ARRAY_OFFSET),</a> -<a name="174"><span class="lineNum"> 174 </span> : : .ecnt = CPU_TO_BE32(SPIRAH_NTUPLES_COUNT),</a> -<a name="175"><span class="lineNum"> 175 </span> : : .esize</a> -<a name="176"><span class="lineNum"> 176 </span> : : = CPU_TO_BE32(sizeof(struct spira_ntuple)),</a> -<a name="177"><span class="lineNum"> 177 </span> : : .eactsz = CPU_TO_BE32(0x18),</a> -<a name="178"><span class="lineNum"> 178 </span> : : },</a> -<a name="179"><span class="lineNum"> 179 </span> : : /* Host Data Areas */</a> -<a name="180"><span class="lineNum"> 180 </span> : : .hs_data_area = {</a> -<a name="181"><span class="lineNum"> 181 </span> : : .addr = CPU_TO_BE64(SPIRA_HEAP_BASE),</a> -<a name="182"><span class="lineNum"> 182 </span> : : .alloc_cnt = CPU_TO_BE16(1),</a> -<a name="183"><span class="lineNum"> 183 </span> : : .alloc_len = CPU_TO_BE32(SPIRA_HEAP_SIZE),</a> -<a name="184"><span class="lineNum"> 184 </span> : : },</a> -<a name="185"><span class="lineNum"> 185 </span> : : /* We only populate some n-tuples */</a> -<a name="186"><span class="lineNum"> 186 </span> : : .proc_init = {</a> -<a name="187"><span class="lineNum"> 187 </span> : : .addr = CPU_TO_BE64(PROCIN_OFF),</a> +<a name="141"><span class="lineNum"> 141 </span> : : .alloc_len = CPU_TO_BE32(SPIRA_HEAP_SIZE),</a> +<a name="142"><span class="lineNum"> 142 </span> : : },</a> +<a name="143"><span class="lineNum"> 143 </span> : : /* We only populate some n-tuples */</a> +<a name="144"><span class="lineNum"> 144 </span> : : .proc_init = {</a> +<a name="145"><span class="lineNum"> 145 </span> : : .addr = CPU_TO_BE64(PROCIN_OFF),</a> +<a name="146"><span class="lineNum"> 146 </span> : : .alloc_cnt = CPU_TO_BE16(1),</a> +<a name="147"><span class="lineNum"> 147 </span> : : .act_cnt = CPU_TO_BE16(1),</a> +<a name="148"><span class="lineNum"> 148 </span> : : .alloc_len</a> +<a name="149"><span class="lineNum"> 149 </span> : : = CPU_TO_BE32(sizeof(struct proc_init_data)),</a> +<a name="150"><span class="lineNum"> 150 </span> : : },</a> +<a name="151"><span class="lineNum"> 151 </span> : : .cpu_ctrl = {</a> +<a name="152"><span class="lineNum"> 152 </span> : : .addr = CPU_TO_BE64(CPU_CTL_INIT_DATA_OFF),</a> +<a name="153"><span class="lineNum"> 153 </span> : : .alloc_cnt = CPU_TO_BE16(1),</a> +<a name="154"><span class="lineNum"> 154 </span> : : .act_cnt = CPU_TO_BE16(1),</a> +<a name="155"><span class="lineNum"> 155 </span> : : .alloc_len =</a> +<a name="156"><span class="lineNum"> 156 </span> : : CPU_TO_BE32(sizeof(cpu_ctl_init_data)),</a> +<a name="157"><span class="lineNum"> 157 </span> : : },</a> +<a name="158"><span class="lineNum"> 158 </span> : : .mdump_src = {</a> +<a name="159"><span class="lineNum"> 159 </span> : : .addr = CPU_TO_BE64(MDST_TABLE_OFF),</a> +<a name="160"><span class="lineNum"> 160 </span> : : .alloc_cnt = CPU_TO_BE16(MDST_TABLE_SIZE / sizeof(struct mdst_table)),</a> +<a name="161"><span class="lineNum"> 161 </span> : : .act_cnt = CPU_TO_BE16(ARRAY_SIZE(init_mdst_table)),</a> +<a name="162"><span class="lineNum"> 162 </span> : : .alloc_len = CPU_TO_BE32(sizeof(struct mdst_table)),</a> +<a name="163"><span class="lineNum"> 163 </span> : : .act_len = CPU_TO_BE32(sizeof(struct mdst_table)),</a> +<a name="164"><span class="lineNum"> 164 </span> : : },</a> +<a name="165"><span class="lineNum"> 165 </span> : : .mdump_dst = {</a> +<a name="166"><span class="lineNum"> 166 </span> : : .addr = CPU_TO_BE64(MDDT_TABLE_OFF),</a> +<a name="167"><span class="lineNum"> 167 </span> : : .alloc_cnt = CPU_TO_BE16(MDDT_TABLE_SIZE / sizeof(struct mddt_table)),</a> +<a name="168"><span class="lineNum"> 168 </span> : : .act_cnt = CPU_TO_BE16(0),</a> +<a name="169"><span class="lineNum"> 169 </span> : : .alloc_len = CPU_TO_BE32(sizeof(struct mddt_table)),</a> +<a name="170"><span class="lineNum"> 170 </span> : : .act_len = CPU_TO_BE32(sizeof(struct mddt_table)),</a> +<a name="171"><span class="lineNum"> 171 </span> : : },</a> +<a name="172"><span class="lineNum"> 172 </span> : : .mdump_res = {</a> +<a name="173"><span class="lineNum"> 173 </span> : : .addr = CPU_TO_BE64(MDRT_TABLE_BASE),</a> +<a name="174"><span class="lineNum"> 174 </span> : : .alloc_cnt = CPU_TO_BE16(MDRT_TABLE_SIZE / sizeof(struct mdrt_table)),</a> +<a name="175"><span class="lineNum"> 175 </span> : : /*</a> +<a name="176"><span class="lineNum"> 176 </span> : : * XXX: Ideally hostboot should use allocated count and</a> +<a name="177"><span class="lineNum"> 177 </span> : : * length. But looks like hostboot uses actual count</a> +<a name="178"><span class="lineNum"> 178 </span> : : * and length to get MDRT table size. And post dump</a> +<a name="179"><span class="lineNum"> 179 </span> : : * hostboot will update act_cnt. Hence update both</a> +<a name="180"><span class="lineNum"> 180 </span> : : * alloc_cnt and act_cnt.</a> +<a name="181"><span class="lineNum"> 181 </span> : : */</a> +<a name="182"><span class="lineNum"> 182 </span> : : .act_cnt = CPU_TO_BE16(MDRT_TABLE_SIZE / sizeof(struct mdrt_table)),</a> +<a name="183"><span class="lineNum"> 183 </span> : : .alloc_len = CPU_TO_BE32(sizeof(struct mdrt_table)),</a> +<a name="184"><span class="lineNum"> 184 </span> : : .act_len = CPU_TO_BE32(sizeof(struct mdrt_table)),</a> +<a name="185"><span class="lineNum"> 185 </span> : : },</a> +<a name="186"><span class="lineNum"> 186 </span> : : .proc_dump_area = {</a> +<a name="187"><span class="lineNum"> 187 </span> : : .addr = CPU_TO_BE64(PROC_DUMP_AREA_OFF),</a> <a name="188"><span class="lineNum"> 188 </span> : : .alloc_cnt = CPU_TO_BE16(1),</a> <a name="189"><span class="lineNum"> 189 </span> : : .act_cnt = CPU_TO_BE16(1),</a> -<a name="190"><span class="lineNum"> 190 </span> : : .alloc_len</a> -<a name="191"><span class="lineNum"> 191 </span> : : = CPU_TO_BE32(sizeof(struct proc_init_data)),</a> +<a name="190"><span class="lineNum"> 190 </span> : : .alloc_len = CPU_TO_BE32(sizeof(struct proc_dump_area)),</a> +<a name="191"><span class="lineNum"> 191 </span> : : .act_len = CPU_TO_BE32(sizeof(struct proc_dump_area)),</a> <a name="192"><span class="lineNum"> 192 </span> : : },</a> -<a name="193"><span class="lineNum"> 193 </span> : : .cpu_ctrl = {</a> -<a name="194"><span class="lineNum"> 194 </span> : : .addr = CPU_TO_BE64(CPU_CTL_INIT_DATA_OFF),</a> -<a name="195"><span class="lineNum"> 195 </span> : : .alloc_cnt = CPU_TO_BE16(1),</a> -<a name="196"><span class="lineNum"> 196 </span> : : .act_cnt = CPU_TO_BE16(1),</a> -<a name="197"><span class="lineNum"> 197 </span> : : .alloc_len =</a> -<a name="198"><span class="lineNum"> 198 </span> : : CPU_TO_BE32(sizeof(cpu_ctl_init_data)),</a> -<a name="199"><span class="lineNum"> 199 </span> : : },</a> -<a name="200"><span class="lineNum"> 200 </span> : : .mdump_src = {</a> -<a name="201"><span class="lineNum"> 201 </span> : : .addr = CPU_TO_BE64(MDST_TABLE_OFF),</a> -<a name="202"><span class="lineNum"> 202 </span> : : .alloc_cnt = CPU_TO_BE16(MDST_TABLE_SIZE / sizeof(struct mdst_table)),</a> -<a name="203"><span class="lineNum"> 203 </span> : : .act_cnt = CPU_TO_BE16(ARRAY_SIZE(init_mdst_table)),</a> -<a name="204"><span class="lineNum"> 204 </span> : : .alloc_len = CPU_TO_BE32(sizeof(struct mdst_table)),</a> -<a name="205"><span class="lineNum"> 205 </span> : : .act_len = CPU_TO_BE32(sizeof(struct mdst_table)),</a> -<a name="206"><span class="lineNum"> 206 </span> : : },</a> -<a name="207"><span class="lineNum"> 207 </span> : : .mdump_dst = {</a> -<a name="208"><span class="lineNum"> 208 </span> : : .addr = CPU_TO_BE64(MDDT_TABLE_OFF),</a> -<a name="209"><span class="lineNum"> 209 </span> : : .alloc_cnt = CPU_TO_BE16(MDDT_TABLE_SIZE / sizeof(struct mddt_table)),</a> -<a name="210"><span class="lineNum"> 210 </span> : : .act_cnt = CPU_TO_BE16(0),</a> -<a name="211"><span class="lineNum"> 211 </span> : : .alloc_len = CPU_TO_BE32(sizeof(struct mddt_table)),</a> -<a name="212"><span class="lineNum"> 212 </span> : : .act_len = CPU_TO_BE32(sizeof(struct mddt_table)),</a> -<a name="213"><span class="lineNum"> 213 </span> : : },</a> -<a name="214"><span class="lineNum"> 214 </span> : : .mdump_res = {</a> -<a name="215"><span class="lineNum"> 215 </span> : : .addr = CPU_TO_BE64(MDRT_TABLE_BASE),</a> -<a name="216"><span class="lineNum"> 216 </span> : : .alloc_cnt = CPU_TO_BE16(MDRT_TABLE_SIZE / sizeof(struct mdrt_table)),</a> -<a name="217"><span class="lineNum"> 217 </span> : : /*</a> -<a name="218"><span class="lineNum"> 218 </span> : : * XXX: Ideally hostboot should use allocated count and</a> -<a name="219"><span class="lineNum"> 219 </span> : : * length. But looks like hostboot uses actual count</a> -<a name="220"><span class="lineNum"> 220 </span> : : * and length to get MDRT table size. And post dump</a> -<a name="221"><span class="lineNum"> 221 </span> : : * hostboot will update act_cnt. Hence update both</a> -<a name="222"><span class="lineNum"> 222 </span> : : * alloc_cnt and act_cnt.</a> -<a name="223"><span class="lineNum"> 223 </span> : : */</a> -<a name="224"><span class="lineNum"> 224 </span> : : .act_cnt = CPU_TO_BE16(MDRT_TABLE_SIZE / sizeof(struct mdrt_table)),</a> -<a name="225"><span class="lineNum"> 225 </span> : : .alloc_len = CPU_TO_BE32(sizeof(struct mdrt_table)),</a> -<a name="226"><span class="lineNum"> 226 </span> : : .act_len = CPU_TO_BE32(sizeof(struct mdrt_table)),</a> -<a name="227"><span class="lineNum"> 227 </span> : : },</a> -<a name="228"><span class="lineNum"> 228 </span> : : .proc_dump_area = {</a> -<a name="229"><span class="lineNum"> 229 </span> : : .addr = CPU_TO_BE64(PROC_DUMP_AREA_OFF),</a> -<a name="230"><span class="lineNum"> 230 </span> : : .alloc_cnt = CPU_TO_BE16(1),</a> -<a name="231"><span class="lineNum"> 231 </span> : : .act_cnt = CPU_TO_BE16(1),</a> -<a name="232"><span class="lineNum"> 232 </span> : : .alloc_len = CPU_TO_BE32(sizeof(struct proc_dump_area)),</a> -<a name="233"><span class="lineNum"> 233 </span> : : .act_len = CPU_TO_BE32(sizeof(struct proc_dump_area)),</a> -<a name="234"><span class="lineNum"> 234 </span> : : },</a> -<a name="235"><span class="lineNum"> 235 </span> : : },</a> -<a name="236"><span class="lineNum"> 236 </span> : : };</a> -<a name="237"><span class="lineNum"> 237 </span> : : </a> -<a name="238"><span class="lineNum"> 238 </span> : : /* The service processor SPIRA-S structure */</a> -<a name="239"><span class="lineNum"> 239 </span> : : struct spiras *skiboot_constant_addr spiras;</a> -<a name="240"><span class="lineNum"> 240 </span> : : </a> -<a name="241"><span class="lineNum"> 241 </span> : : /* Overridden for testing. */</a> -<a name="242"><span class="lineNum"> 242 </span> : : #ifndef spira_check_ptr</a> -<a name="243"><span class="lineNum"> 243 </span> : : bool spira_check_ptr(const void *ptr, const char *file, unsigned int line)</a> -<a name="244"><span class="lineNum"> 244 </span> : : {</a> -<a name="245"><span class="lineNum"> 245 </span> : : if (!ptr)</a> -<a name="246"><span class="lineNum"> 246 </span> : : return false;</a> -<a name="247"><span class="lineNum"> 247 </span> : : if (((unsigned long)ptr) >= SPIRA_HEAP_BASE &&</a> -<a name="248"><span class="lineNum"> 248 </span> : : ((unsigned long)ptr) < (SPIRA_HEAP_BASE + SPIRA_HEAP_SIZE))</a> -<a name="249"><span class="lineNum"> 249 </span> : : return true;</a> -<a name="250"><span class="lineNum"> 250 </span> : : </a> -<a name="251"><span class="lineNum"> 251 </span> : : prerror("SPIRA: Bad pointer %p at %s line %d\n", ptr, file, line);</a> -<a name="252"><span class="lineNum"> 252 </span> : : return false;</a> -<a name="253"><span class="lineNum"> 253 </span> : : }</a> -<a name="254"><span class="lineNum"> 254 </span> : : #endif</a> -<a name="255"><span class="lineNum"> 255 </span> : : </a> -<a name="256"><span class="lineNum"> 256 </span> :<span class="lineCov"> 545 : struct HDIF_common_hdr *__get_hdif(struct spira_ntuple *n, const char id[],</span></a> -<a name="257"><span class="lineNum"> 257 </span> : : const char *file, int line)</a> -<a name="258"><span class="lineNum"> 258 </span> : : {</a> -<a name="259"><span class="lineNum"> 259 </span> :<span class="lineCov"> 545 : struct HDIF_common_hdr *h = ntuple_addr(n);</span></a> -<a name="260"><span class="lineNum"> 260 </span> : : u16 act_cnt, alloc_cnt;</a> -<a name="261"><span class="lineNum"> 261 </span> : : u32 act_len, alloc_len;</a> -<a name="262"><span class="lineNum"> 262 </span> : : </a> -<a name="263"><span class="lineNum"> 263 </span> :<span class="lineCov"> 545 : if (!spira_check_ptr(h, file, line))</span></a> -<a name="264"><span class="lineNum"> 264 </span> :<span class="lineCov"> 6 : return NULL;</span></a> -<a name="265"><span class="lineNum"> 265 </span> : : </a> -<a name="266"><span class="lineNum"> 266 </span> :<span class="lineCov"> 539 : act_cnt = be16_to_cpu(n->act_cnt);</span></a> -<a name="267"><span class="lineNum"> 267 </span> :<span class="lineCov"> 539 : alloc_cnt = be16_to_cpu(n->alloc_cnt);</span></a> -<a name="268"><span class="lineNum"> 268 </span> : : </a> -<a name="269"><span class="lineNum"> 269 </span> :<span class="lineCov"> 539 : if (act_cnt > alloc_cnt) {</span></a> -<a name="270"><span class="lineNum"> 270 </span> :<span class="lineNoCov"> 0 : prerror("SPIRA: bad ntuple, act_cnt > alloc_cnt (%u > %u)\n",</span></a> -<a name="271"><span class="lineNum"> 271 </span> : : act_cnt, alloc_cnt);</a> -<a name="272"><span class="lineNum"> 272 </span> :<span class="lineNoCov"> 0 : return NULL;</span></a> -<a name="273"><span class="lineNum"> 273 </span> : : }</a> -<a name="274"><span class="lineNum"> 274 </span> : : </a> -<a name="275"><span class="lineNum"> 275 </span> :<span class="lineCov"> 539 : act_len = be32_to_cpu(n->act_len);</span></a> -<a name="276"><span class="lineNum"> 276 </span> :<span class="lineCov"> 539 : alloc_len = be32_to_cpu(n->alloc_len);</span></a> -<a name="277"><span class="lineNum"> 277 </span> : : </a> -<a name="278"><span class="lineNum"> 278 </span> :<span class="lineCov"> 539 : if (act_len > alloc_len) {</span></a> -<a name="279"><span class="lineNum"> 279 </span> :<span class="lineNoCov"> 0 : prerror("SPIRA: bad ntuple, act_len > alloc_len (%u > %u)\n",</span></a> -<a name="280"><span class="lineNum"> 280 </span> : : act_len, alloc_len);</a> -<a name="281"><span class="lineNum"> 281 </span> :<span class="lineNoCov"> 0 : return NULL;</span></a> -<a name="282"><span class="lineNum"> 282 </span> : : }</a> -<a name="283"><span class="lineNum"> 283 </span> : : </a> -<a name="284"><span class="lineNum"> 284 </span> :<span class="lineCov"> 539 : if (!HDIF_check(h, id)) {</span></a> -<a name="285"><span class="lineNum"> 285 </span> :<span class="lineNoCov"> 0 : prerror("SPIRA: bad tuple %p: expected %s at %s line %d\n",</span></a> -<a name="286"><span class="lineNum"> 286 </span> : : h, id, file, line);</a> -<a name="287"><span class="lineNum"> 287 </span> :<span class="lineNoCov"> 0 : return NULL;</span></a> -<a name="288"><span class="lineNum"> 288 </span> : : }</a> -<a name="289"><span class="lineNum"> 289 </span> :<span class="lineCov"> 539 : return h;</span></a> -<a name="290"><span class="lineNum"> 290 </span> : : }</a> -<a name="291"><span class="lineNum"> 291 </span> : : </a> -<a name="292"><span class="lineNum"> 292 </span> :<span class="lineCov"> 103 : uint32_t get_xscom_id(const struct sppcrd_chip_info *cinfo)</span></a> -<a name="293"><span class="lineNum"> 293 </span> : : {</a> -<a name="294"><span class="lineNum"> 294 </span> :<span class="lineCov"> 103 : if (proc_gen <= proc_gen_p9)</span></a> -<a name="295"><span class="lineNum"> 295 </span> :<span class="lineCov"> 103 : return be32_to_cpu(cinfo->xscom_id);</span></a> -<a name="296"><span class="lineNum"> 296 </span> : : </a> -<a name="297"><span class="lineNum"> 297 </span> : : /* On P10 use Processor fabric topology id for chip id */</a> -<a name="298"><span class="lineNum"> 298 </span> :<span class="lineNoCov"> 0 : return (uint32_t)(cinfo->fab_topology_id);</span></a> -<a name="299"><span class="lineNum"> 299 </span> : : }</a> -<a name="300"><span class="lineNum"> 300 </span> : : </a> -<a name="301"><span class="lineNum"> 301 </span> :<span class="lineCov"> 6 : static struct dt_node *add_xscom_node(uint64_t base,</span></a> -<a name="302"><span class="lineNum"> 302 </span> : : const struct sppcrd_chip_info *cinfo)</a> -<a name="303"><span class="lineNum"> 303 </span> : : {</a> -<a name="304"><span class="lineNum"> 304 </span> : : struct dt_node *node;</a> -<a name="305"><span class="lineNum"> 305 </span> : : uint64_t addr, size;</a> -<a name="306"><span class="lineNum"> 306 </span> : : uint64_t freq;</a> -<a name="307"><span class="lineNum"> 307 </span> :<span class="lineCov"> 6 : uint32_t hw_id = get_xscom_id(cinfo);</span></a> -<a name="308"><span class="lineNum"> 308 </span> :<span class="lineCov"> 6 : uint32_t proc_chip_id = be32_to_cpu(cinfo->proc_chip_id);</span></a> -<a name="309"><span class="lineNum"> 309 </span> : : </a> -<a name="310"><span class="lineNum"> 310 </span> :<span class="lineCov"> 6 : switch (proc_gen) {</span></a> -<a name="311"><span class="lineNum"> 311 </span> :<span class="lineCov"> 6 : case proc_gen_p8:</span></a> -<a name="312"><span class="lineNum"> 312 </span> : : /* On P8 all the chip SCOMs share single region */</a> -<a name="313"><span class="lineNum"> 313 </span> :<span class="lineCov"> 6 : addr = base | ((uint64_t)hw_id << PPC_BITLSHIFT(28));</span></a> -<a name="314"><span class="lineNum"> 314 </span> :<span class="lineCov"> 6 : break;</span></a> -<a name="315"><span class="lineNum"> 315 </span> :<span class="lineNoCov"> 0 : case proc_gen_p9:</span></a> -<a name="316"><span class="lineNum"> 316 </span> : : /* On P9 we need to put the chip ID in the natural powerbus</a> -<a name="317"><span class="lineNum"> 317 </span> : : * position.</a> -<a name="318"><span class="lineNum"> 318 </span> : : */</a> -<a name="319"><span class="lineNum"> 319 </span> :<span class="lineNoCov"> 0 : addr = base | (((uint64_t)hw_id) << 42);</span></a> -<a name="320"><span class="lineNum"> 320 </span> :<span class="lineNoCov"> 0 : break;</span></a> -<a name="321"><span class="lineNum"> 321 </span> :<span class="lineNoCov"> 0 : case proc_gen_p10:</span></a> -<a name="322"><span class="lineNum"> 322 </span> : : default:</a> -<a name="323"><span class="lineNum"> 323 </span> : : /* Use Primary topology table index for xscom address */</a> -<a name="324"><span class="lineNum"> 324 </span> :<span class="lineNoCov"> 0 : addr = base | (((uint64_t)cinfo->topology_id_table[cinfo->primary_topology_loc]) << 44);</span></a> -<a name="325"><span class="lineNum"> 325 </span> :<span class="lineNoCov"> 0 : break;</span></a> -<a name="326"><span class="lineNum"> 326 </span> : : };</a> -<a name="327"><span class="lineNum"> 327 </span> : : </a> -<a name="328"><span class="lineNum"> 328 </span> :<span class="lineCov"> 6 : size = (u64)1 << PPC_BITLSHIFT(28);</span></a> +<a name="193"><span class="lineNum"> 193 </span> : : },</a> +<a name="194"><span class="lineNum"> 194 </span> : : };</a> +<a name="195"><span class="lineNum"> 195 </span> : : </a> +<a name="196"><span class="lineNum"> 196 </span> : : /* The service processor SPIRA-S structure */</a> +<a name="197"><span class="lineNum"> 197 </span> : : struct spiras *skiboot_constant_addr spiras;</a> +<a name="198"><span class="lineNum"> 198 </span> : : </a> +<a name="199"><span class="lineNum"> 199 </span> : : /* Overridden for testing. */</a> +<a name="200"><span class="lineNum"> 200 </span> : : #ifndef spira_check_ptr</a> +<a name="201"><span class="lineNum"> 201 </span> : : bool spira_check_ptr(const void *ptr, const char *file, unsigned int line)</a> +<a name="202"><span class="lineNum"> 202 </span> : : {</a> +<a name="203"><span class="lineNum"> 203 </span> : : if (!ptr)</a> +<a name="204"><span class="lineNum"> 204 </span> : : return false;</a> +<a name="205"><span class="lineNum"> 205 </span> : : if (((unsigned long)ptr) >= SPIRA_HEAP_BASE &&</a> +<a name="206"><span class="lineNum"> 206 </span> : : ((unsigned long)ptr) < (SPIRA_HEAP_BASE + SPIRA_HEAP_SIZE))</a> +<a name="207"><span class="lineNum"> 207 </span> : : return true;</a> +<a name="208"><span class="lineNum"> 208 </span> : : </a> +<a name="209"><span class="lineNum"> 209 </span> : : prerror("SPIRA: Bad pointer %p at %s line %d\n", ptr, file, line);</a> +<a name="210"><span class="lineNum"> 210 </span> : : return false;</a> +<a name="211"><span class="lineNum"> 211 </span> : : }</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> :<span class="lineCov"> 216 : struct HDIF_common_hdr *__get_hdif(struct spira_ntuple *n, const char id[],</span></a> +<a name="215"><span class="lineNum"> 215 </span> : : const char *file, int line)</a> +<a name="216"><span class="lineNum"> 216 </span> : : {</a> +<a name="217"><span class="lineNum"> 217 </span> :<span class="lineCov"> 216 : struct HDIF_common_hdr *h = ntuple_addr(n);</span></a> +<a name="218"><span class="lineNum"> 218 </span> : : u16 act_cnt, alloc_cnt;</a> +<a name="219"><span class="lineNum"> 219 </span> : : u32 act_len, alloc_len;</a> +<a name="220"><span class="lineNum"> 220 </span> : : </a> +<a name="221"><span class="lineNum"> 221 </span> :<span class="lineCov"> 216 : if (!spira_check_ptr(h, file, line))</span></a> +<a name="222"><span class="lineNum"> 222 </span> :<span class="lineCov"> 1 : return NULL;</span></a> +<a name="223"><span class="lineNum"> 223 </span> : : </a> +<a name="224"><span class="lineNum"> 224 </span> :<span class="lineCov"> 215 : act_cnt = be16_to_cpu(n->act_cnt);</span></a> +<a name="225"><span class="lineNum"> 225 </span> :<span class="lineCov"> 215 : alloc_cnt = be16_to_cpu(n->alloc_cnt);</span></a> +<a name="226"><span class="lineNum"> 226 </span> : : </a> +<a name="227"><span class="lineNum"> 227 </span> :<span class="lineCov"> 215 : if (act_cnt > alloc_cnt) {</span></a> +<a name="228"><span class="lineNum"> 228 </span> :<span class="lineNoCov"> 0 : prerror("SPIRA: bad ntuple, act_cnt > alloc_cnt (%u > %u)\n",</span></a> +<a name="229"><span class="lineNum"> 229 </span> : : act_cnt, alloc_cnt);</a> +<a name="230"><span class="lineNum"> 230 </span> :<span class="lineNoCov"> 0 : return NULL;</span></a> +<a name="231"><span class="lineNum"> 231 </span> : : }</a> +<a name="232"><span class="lineNum"> 232 </span> : : </a> +<a name="233"><span class="lineNum"> 233 </span> :<span class="lineCov"> 215 : act_len = be32_to_cpu(n->act_len);</span></a> +<a name="234"><span class="lineNum"> 234 </span> :<span class="lineCov"> 215 : alloc_len = be32_to_cpu(n->alloc_len);</span></a> +<a name="235"><span class="lineNum"> 235 </span> : : </a> +<a name="236"><span class="lineNum"> 236 </span> :<span class="lineCov"> 215 : if (act_len > alloc_len) {</span></a> +<a name="237"><span class="lineNum"> 237 </span> :<span class="lineNoCov"> 0 : prerror("SPIRA: bad ntuple, act_len > alloc_len (%u > %u)\n",</span></a> +<a name="238"><span class="lineNum"> 238 </span> : : act_len, alloc_len);</a> +<a name="239"><span class="lineNum"> 239 </span> :<span class="lineNoCov"> 0 : return NULL;</span></a> +<a name="240"><span class="lineNum"> 240 </span> : : }</a> +<a name="241"><span class="lineNum"> 241 </span> : : </a> +<a name="242"><span class="lineNum"> 242 </span> :<span class="lineCov"> 215 : if (!HDIF_check(h, id)) {</span></a> +<a name="243"><span class="lineNum"> 243 </span> :<span class="lineNoCov"> 0 : prerror("SPIRA: bad tuple %p: expected %s at %s line %d\n",</span></a> +<a name="244"><span class="lineNum"> 244 </span> : : h, id, file, line);</a> +<a name="245"><span class="lineNum"> 245 </span> :<span class="lineNoCov"> 0 : return NULL;</span></a> +<a name="246"><span class="lineNum"> 246 </span> : : }</a> +<a name="247"><span class="lineNum"> 247 </span> :<span class="lineCov"> 215 : return h;</span></a> +<a name="248"><span class="lineNum"> 248 </span> : : }</a> +<a name="249"><span class="lineNum"> 249 </span> : : </a> +<a name="250"><span class="lineNum"> 250 </span> :<span class="lineCov"> 25 : uint32_t get_xscom_id(const struct sppcrd_chip_info *cinfo)</span></a> +<a name="251"><span class="lineNum"> 251 </span> : : {</a> +<a name="252"><span class="lineNum"> 252 </span> :<span class="lineCov"> 25 : if (proc_gen <= proc_gen_p9)</span></a> +<a name="253"><span class="lineNum"> 253 </span> :<span class="lineCov"> 25 : return be32_to_cpu(cinfo->xscom_id);</span></a> +<a name="254"><span class="lineNum"> 254 </span> : : </a> +<a name="255"><span class="lineNum"> 255 </span> : : /* On P10 use Processor fabric topology id for chip id */</a> +<a name="256"><span class="lineNum"> 256 </span> :<span class="lineNoCov"> 0 : return (uint32_t)(cinfo->fab_topology_id);</span></a> +<a name="257"><span class="lineNum"> 257 </span> : : }</a> +<a name="258"><span class="lineNum"> 258 </span> : : </a> +<a name="259"><span class="lineNum"> 259 </span> :<span class="lineCov"> 2 : static struct dt_node *add_xscom_node(uint64_t base,</span></a> +<a name="260"><span class="lineNum"> 260 </span> : : const struct sppcrd_chip_info *cinfo)</a> +<a name="261"><span class="lineNum"> 261 </span> : : {</a> +<a name="262"><span class="lineNum"> 262 </span> : : struct dt_node *node;</a> +<a name="263"><span class="lineNum"> 263 </span> : : uint64_t addr, size;</a> +<a name="264"><span class="lineNum"> 264 </span> : : uint64_t freq;</a> +<a name="265"><span class="lineNum"> 265 </span> :<span class="lineCov"> 2 : uint32_t hw_id = get_xscom_id(cinfo);</span></a> +<a name="266"><span class="lineNum"> 266 </span> :<span class="lineCov"> 2 : uint32_t proc_chip_id = be32_to_cpu(cinfo->proc_chip_id);</span></a> +<a name="267"><span class="lineNum"> 267 </span> : : </a> +<a name="268"><span class="lineNum"> 268 </span> :<span class="lineCov"> 2 : switch (proc_gen) {</span></a> +<a name="269"><span class="lineNum"> 269 </span> :<span class="lineCov"> 2 : case proc_gen_p8:</span></a> +<a name="270"><span class="lineNum"> 270 </span> : : /* On P8 all the chip SCOMs share single region */</a> +<a name="271"><span class="lineNum"> 271 </span> :<span class="lineCov"> 2 : addr = base | ((uint64_t)hw_id << PPC_BITLSHIFT(28));</span></a> +<a name="272"><span class="lineNum"> 272 </span> :<span class="lineCov"> 2 : break;</span></a> +<a name="273"><span class="lineNum"> 273 </span> :<span class="lineNoCov"> 0 : case proc_gen_p9:</span></a> +<a name="274"><span class="lineNum"> 274 </span> : : /* On P9 we need to put the chip ID in the natural powerbus</a> +<a name="275"><span class="lineNum"> 275 </span> : : * position.</a> +<a name="276"><span class="lineNum"> 276 </span> : : */</a> +<a name="277"><span class="lineNum"> 277 </span> :<span class="lineNoCov"> 0 : addr = base | (((uint64_t)hw_id) << 42);</span></a> +<a name="278"><span class="lineNum"> 278 </span> :<span class="lineNoCov"> 0 : break;</span></a> +<a name="279"><span class="lineNum"> 279 </span> :<span class="lineNoCov"> 0 : case proc_gen_p10:</span></a> +<a name="280"><span class="lineNum"> 280 </span> : : default:</a> +<a name="281"><span class="lineNum"> 281 </span> : : /* Use Primary topology table index for xscom address */</a> +<a name="282"><span class="lineNum"> 282 </span> :<span class="lineNoCov"> 0 : addr = base | (((uint64_t)cinfo->topology_id_table[cinfo->primary_topology_loc]) << 44);</span></a> +<a name="283"><span class="lineNum"> 283 </span> :<span class="lineNoCov"> 0 : break;</span></a> +<a name="284"><span class="lineNum"> 284 </span> : : };</a> +<a name="285"><span class="lineNum"> 285 </span> : : </a> +<a name="286"><span class="lineNum"> 286 </span> :<span class="lineCov"> 2 : size = (u64)1 << PPC_BITLSHIFT(28);</span></a> +<a name="287"><span class="lineNum"> 287 </span> : : </a> +<a name="288"><span class="lineNum"> 288 </span> :<span class="lineCov"> 2 : prlog(PR_INFO, "XSCOM: Found HW ID 0x%x (PCID 0x%x) @ 0x%llx\n",</span></a> +<a name="289"><span class="lineNum"> 289 </span> : : hw_id, proc_chip_id, (long long)addr);</a> +<a name="290"><span class="lineNum"> 290 </span> : : </a> +<a name="291"><span class="lineNum"> 291 </span> :<span class="lineCov"> 2 : node = dt_new_addr(dt_root, "xscom", addr);</span></a> +<a name="292"><span class="lineNum"> 292 </span> :<span class="lineCov"> 2 : assert(node);</span></a> +<a name="293"><span class="lineNum"> 293 </span> : : </a> +<a name="294"><span class="lineNum"> 294 </span> :<span class="lineCov"> 2 : dt_add_property_cells(node, "ibm,chip-id", hw_id);</span></a> +<a name="295"><span class="lineNum"> 295 </span> :<span class="lineCov"> 2 : dt_add_property_cells(node, "ibm,proc-chip-id", proc_chip_id);</span></a> +<a name="296"><span class="lineNum"> 296 </span> :<span class="lineCov"> 2 : dt_add_property_cells(node, "#address-cells", 1);</span></a> +<a name="297"><span class="lineNum"> 297 </span> :<span class="lineCov"> 2 : dt_add_property_cells(node, "#size-cells", 1);</span></a> +<a name="298"><span class="lineNum"> 298 </span> :<span class="lineCov"> 2 : dt_add_property(node, "scom-controller", NULL, 0);</span></a> +<a name="299"><span class="lineNum"> 299 </span> : : </a> +<a name="300"><span class="lineNum"> 300 </span> :<span class="lineCov"> 2 : switch(proc_gen) {</span></a> +<a name="301"><span class="lineNum"> 301 </span> :<span class="lineCov"> 2 : case proc_gen_p8:</span></a> +<a name="302"><span class="lineNum"> 302 </span> :<span class="lineCov"> 2 : dt_add_property_strings(node, "compatible",</span></a> +<a name="303"><span class="lineNum"> 303 </span> : : "ibm,xscom", "ibm,power8-xscom");</a> +<a name="304"><span class="lineNum"> 304 </span> :<span class="lineCov"> 2 : break;</span></a> +<a name="305"><span class="lineNum"> 305 </span> :<span class="lineNoCov"> 0 : case proc_gen_p9:</span></a> +<a name="306"><span class="lineNum"> 306 </span> :<span class="lineNoCov"> 0 : dt_add_property_strings(node, "compatible",</span></a> +<a name="307"><span class="lineNum"> 307 </span> : : "ibm,xscom", "ibm,power9-xscom");</a> +<a name="308"><span class="lineNum"> 308 </span> :<span class="lineNoCov"> 0 : break;</span></a> +<a name="309"><span class="lineNum"> 309 </span> :<span class="lineNoCov"> 0 : case proc_gen_p10:</span></a> +<a name="310"><span class="lineNum"> 310 </span> :<span class="lineNoCov"> 0 : dt_add_property_strings(node, "compatible",</span></a> +<a name="311"><span class="lineNum"> 311 </span> : : "ibm,xscom", "ibm,power10-xscom");</a> +<a name="312"><span class="lineNum"> 312 </span> :<span class="lineNoCov"> 0 : break;</span></a> +<a name="313"><span class="lineNum"> 313 </span> :<span class="lineNoCov"> 0 : default:</span></a> +<a name="314"><span class="lineNum"> 314 </span> :<span class="lineNoCov"> 0 : dt_add_property_strings(node, "compatible", "ibm,xscom");</span></a> +<a name="315"><span class="lineNum"> 315 </span> : : }</a> +<a name="316"><span class="lineNum"> 316 </span> :<span class="lineCov"> 2 : dt_add_property_u64s(node, "reg", addr, size);</span></a> +<a name="317"><span class="lineNum"> 317 </span> : : </a> +<a name="318"><span class="lineNum"> 318 </span> : : /*</a> +<a name="319"><span class="lineNum"> 319 </span> : : * The bus-frequency of the xscom node is actually the PIB/PCB</a> +<a name="320"><span class="lineNum"> 320 </span> : : * frequency. It is derived from the nest-clock via a 4:1 divider</a> +<a name="321"><span class="lineNum"> 321 </span> : : */</a> +<a name="322"><span class="lineNum"> 322 </span> :<span class="lineCov"> 2 : freq = dt_prop_get_u64_def(dt_root, "nest-frequency", 0);</span></a> +<a name="323"><span class="lineNum"> 323 </span> :<span class="lineCov"> 2 : freq /= 4;</span></a> +<a name="324"><span class="lineNum"> 324 </span> :<span class="lineCov"> 2 : if (freq)</span></a> +<a name="325"><span class="lineNum"> 325 </span> :<span class="lineCov"> 2 : dt_add_property_u64(node, "bus-frequency", freq);</span></a> +<a name="326"><span class="lineNum"> 326 </span> : : </a> +<a name="327"><span class="lineNum"> 327 </span> :<span class="lineCov"> 2 : return node;</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> :<span class="lineCov"> 6 : prlog(PR_INFO, "XSCOM: Found HW ID 0x%x (PCID 0x%x) @ 0x%llx\n",</span></a> -<a name="331"><span class="lineNum"> 331 </span> : : hw_id, proc_chip_id, (long long)addr);</a> -<a name="332"><span class="lineNum"> 332 </span> : : </a> -<a name="333"><span class="lineNum"> 333 </span> :<span class="lineCov"> 6 : node = dt_new_addr(dt_root, "xscom", addr);</span></a> -<a name="334"><span class="lineNum"> 334 </span> :<span class="lineCov"> 6 : assert(node);</span></a> -<a name="335"><span class="lineNum"> 335 </span> : : </a> -<a name="336"><span class="lineNum"> 336 </span> :<span class="lineCov"> 6 : dt_add_property_cells(node, "ibm,chip-id", hw_id);</span></a> -<a name="337"><span class="lineNum"> 337 </span> :<span class="lineCov"> 6 : dt_add_property_cells(node, "ibm,proc-chip-id", proc_chip_id);</span></a> -<a name="338"><span class="lineNum"> 338 </span> :<span class="lineCov"> 6 : dt_add_property_cells(node, "#address-cells", 1);</span></a> -<a name="339"><span class="lineNum"> 339 </span> :<span class="lineCov"> 6 : dt_add_property_cells(node, "#size-cells", 1);</span></a> -<a name="340"><span class="lineNum"> 340 </span> :<span class="lineCov"> 6 : dt_add_property(node, "scom-controller", NULL, 0);</span></a> -<a name="341"><span class="lineNum"> 341 </span> : : </a> -<a name="342"><span class="lineNum"> 342 </span> :<span class="lineCov"> 6 : switch(proc_gen) {</span></a> -<a name="343"><span class="lineNum"> 343 </span> :<span class="lineCov"> 6 : case proc_gen_p8:</span></a> -<a name="344"><span class="lineNum"> 344 </span> :<span class="lineCov"> 6 : dt_add_property_strings(node, "compatible",</span></a> -<a name="345"><span class="lineNum"> 345 </span> : : "ibm,xscom", "ibm,power8-xscom");</a> -<a name="346"><span class="lineNum"> 346 </span> :<span class="lineCov"> 6 : break;</span></a> -<a name="347"><span class="lineNum"> 347 </span> :<span class="lineNoCov"> 0 : case proc_gen_p9:</span></a> -<a name="348"><span class="lineNum"> 348 </span> :<span class="lineNoCov"> 0 : dt_add_property_strings(node, "compatible",</span></a> -<a name="349"><span class="lineNum"> 349 </span> : : "ibm,xscom", "ibm,power9-xscom");</a> -<a name="350"><span class="lineNum"> 350 </span> :<span class="lineNoCov"> 0 : break;</span></a> -<a name="351"><span class="lineNum"> 351 </span> :<span class="lineNoCov"> 0 : case proc_gen_p10:</span></a> -<a name="352"><span class="lineNum"> 352 </span> :<span class="lineNoCov"> 0 : dt_add_property_strings(node, "compatible",</span></a> -<a name="353"><span class="lineNum"> 353 </span> : : "ibm,xscom", "ibm,power10-xscom");</a> -<a name="354"><span class="lineNum"> 354 </span> :<span class="lineNoCov"> 0 : break;</span></a> -<a name="355"><span class="lineNum"> 355 </span> :<span class="lineNoCov"> 0 : default:</span></a> -<a name="356"><span class="lineNum"> 356 </span> :<span class="lineNoCov"> 0 : dt_add_property_strings(node, "compatible", "ibm,xscom");</span></a> -<a name="357"><span class="lineNum"> 357 </span> : : }</a> -<a name="358"><span class="lineNum"> 358 </span> :<span class="lineCov"> 6 : dt_add_property_u64s(node, "reg", addr, size);</span></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> : : * The bus-frequency of the xscom node is actually the PIB/PCB</a> -<a name="362"><span class="lineNum"> 362 </span> : : * frequency. It is derived from the nest-clock via a 4:1 divider</a> -<a name="363"><span class="lineNum"> 363 </span> : : */</a> -<a name="364"><span class="lineNum"> 364 </span> :<span class="lineCov"> 6 : freq = dt_prop_get_u64_def(dt_root, "nest-frequency", 0);</span></a> -<a name="365"><span class="lineNum"> 365 </span> :<span class="lineCov"> 6 : freq /= 4;</span></a> -<a name="366"><span class="lineNum"> 366 </span> :<span class="lineCov"> 6 : if (freq)</span></a> -<a name="367"><span class="lineNum"> 367 </span> :<span class="lineCov"> 6 : dt_add_property_u64(node, "bus-frequency", freq);</span></a> -<a name="368"><span class="lineNum"> 368 </span> : : </a> -<a name="369"><span class="lineNum"> 369 </span> :<span class="lineCov"> 6 : return node;</span></a> -<a name="370"><span class="lineNum"> 370 </span> : : }</a> -<a name="371"><span class="lineNum"> 371 </span> : : </a> -<a name="372"><span class="lineNum"> 372 </span> : : /*</a> -<a name="373"><span class="lineNum"> 373 </span> : : * Given a xscom@ node this will return a pointer into the SPPCRD</a> -<a name="374"><span class="lineNum"> 374 </span> : : * structure corresponding to that node</a> -<a name="375"><span class="lineNum"> 375 </span> : : */</a> -<a name="376"><span class="lineNum"> 376 </span> : : #define GET_HDIF_HDR -1</a> -<a name="377"><span class="lineNum"> 377 </span> :<span class="lineNoCov"> 0 : static const void *xscom_to_pcrd(struct dt_node *xscom, int idata_index)</span></a> -<a name="378"><span class="lineNum"> 378 </span> : : {</a> -<a name="379"><span class="lineNum"> 379 </span> :<span class="lineNoCov"> 0 : struct spira_ntuple *t = &spira.ntuples.proc_chip;</span></a> -<a name="380"><span class="lineNum"> 380 </span> : : const struct HDIF_common_hdr *hdif;</a> -<a name="381"><span class="lineNum"> 381 </span> : : const void *idata;</a> -<a name="382"><span class="lineNum"> 382 </span> : : unsigned int size;</a> -<a name="383"><span class="lineNum"> 383 </span> : : uint32_t i;</a> -<a name="384"><span class="lineNum"> 384 </span> : : void *base;</a> -<a name="385"><span class="lineNum"> 385 </span> : : </a> -<a name="386"><span class="lineNum"> 386 </span> :<span class="lineNoCov"> 0 : i = dt_prop_get_u32_def(xscom, DT_PRIVATE "sppcrd-index", 0xffffffff);</span></a> -<a name="387"><span class="lineNum"> 387 </span> :<span class="lineNoCov"> 0 : if (i == 0xffffffff)</span></a> -<a name="388"><span class="lineNum"> 388 </span> :<span class="lineNoCov"> 0 : return NULL;</span></a> -<a name="389"><span class="lineNum"> 389 </span> : : </a> -<a name="390"><span class="lineNum"> 390 </span> :<span class="lineNoCov"> 0 : base = get_hdif(t, "SPPCRD");</span></a> -<a name="391"><span class="lineNum"> 391 </span> :<span class="lineNoCov"> 0 : assert(base);</span></a> -<a name="392"><span class="lineNum"> 392 </span> :<span class="lineNoCov"> 0 : assert(i < be16_to_cpu(t->act_cnt));</span></a> -<a name="393"><span class="lineNum"> 393 </span> : : </a> -<a name="394"><span class="lineNum"> 394 </span> :<span class="lineNoCov"> 0 : hdif = base + i * be32_to_cpu(t->alloc_len);</span></a> -<a name="395"><span class="lineNum"> 395 </span> :<span class="lineNoCov"> 0 : assert(hdif);</span></a> -<a name="396"><span class="lineNum"> 396 </span> : : </a> -<a name="397"><span class="lineNum"> 397 </span> :<span class="lineNoCov"> 0 : if (idata_index == GET_HDIF_HDR)</span></a> -<a name="398"><span class="lineNum"> 398 </span> :<span class="lineNoCov"> 0 : return hdif;</span></a> -<a name="399"><span class="lineNum"> 399 </span> : : </a> -<a name="400"><span class="lineNum"> 400 </span> :<span class="lineNoCov"> 0 : idata = HDIF_get_idata(hdif, idata_index, &size);</span></a> -<a name="401"><span class="lineNum"> 401 </span> :<span class="lineNoCov"> 0 : if (!idata || !size)</span></a> -<a name="402"><span class="lineNum"> 402 </span> :<span class="lineNoCov"> 0 : return NULL;</span></a> -<a name="403"><span class="lineNum"> 403 </span> : : </a> -<a name="404"><span class="lineNum"> 404 </span> :<span class="lineNoCov"> 0 : return idata;</span></a> -<a name="405"><span class="lineNum"> 405 </span> : : }</a> -<a name="406"><span class="lineNum"> 406 </span> : : </a> -<a name="407"><span class="lineNum"> 407 </span> :<span class="lineCov"> 18 : struct dt_node *find_xscom_for_chip(uint32_t chip_id)</span></a> -<a name="408"><span class="lineNum"> 408 </span> : : {</a> -<a name="409"><span class="lineNum"> 409 </span> : : struct dt_node *node;</a> -<a name="410"><span class="lineNum"> 410 </span> : : uint32_t id;</a> +<a name="330"><span class="lineNum"> 330 </span> : : /*</a> +<a name="331"><span class="lineNum"> 331 </span> : : * Given a xscom@ node this will return a pointer into the SPPCRD</a> +<a name="332"><span class="lineNum"> 332 </span> : : * structure corresponding to that node</a> +<a name="333"><span class="lineNum"> 333 </span> : : */</a> +<a name="334"><span class="lineNum"> 334 </span> : : #define GET_HDIF_HDR -1</a> +<a name="335"><span class="lineNum"> 335 </span> :<span class="lineNoCov"> 0 : static const void *xscom_to_pcrd(struct dt_node *xscom, int idata_index)</span></a> +<a name="336"><span class="lineNum"> 336 </span> : : {</a> +<a name="337"><span class="lineNum"> 337 </span> :<span class="lineNoCov"> 0 : struct spira_ntuple *t = &spiras->ntuples.proc_chip;</span></a> +<a name="338"><span class="lineNum"> 338 </span> : : const struct HDIF_common_hdr *hdif;</a> +<a name="339"><span class="lineNum"> 339 </span> : : const void *idata;</a> +<a name="340"><span class="lineNum"> 340 </span> : : unsigned int size;</a> +<a name="341"><span class="lineNum"> 341 </span> : : uint32_t i;</a> +<a name="342"><span class="lineNum"> 342 </span> : : void *base;</a> +<a name="343"><span class="lineNum"> 343 </span> : : </a> +<a name="344"><span class="lineNum"> 344 </span> :<span class="lineNoCov"> 0 : i = dt_prop_get_u32_def(xscom, DT_PRIVATE "sppcrd-index", 0xffffffff);</span></a> +<a name="345"><span class="lineNum"> 345 </span> :<span class="lineNoCov"> 0 : if (i == 0xffffffff)</span></a> +<a name="346"><span class="lineNum"> 346 </span> :<span class="lineNoCov"> 0 : return NULL;</span></a> +<a name="347"><span class="lineNum"> 347 </span> : : </a> +<a name="348"><span class="lineNum"> 348 </span> :<span class="lineNoCov"> 0 : base = get_hdif(t, "SPPCRD");</span></a> +<a name="349"><span class="lineNum"> 349 </span> :<span class="lineNoCov"> 0 : assert(base);</span></a> +<a name="350"><span class="lineNum"> 350 </span> :<span class="lineNoCov"> 0 : assert(i < be16_to_cpu(t->act_cnt));</span></a> +<a name="351"><span class="lineNum"> 351 </span> : : </a> +<a name="352"><span class="lineNum"> 352 </span> :<span class="lineNoCov"> 0 : hdif = base + i * be32_to_cpu(t->alloc_len);</span></a> +<a name="353"><span class="lineNum"> 353 </span> :<span class="lineNoCov"> 0 : assert(hdif);</span></a> +<a name="354"><span class="lineNum"> 354 </span> : : </a> +<a name="355"><span class="lineNum"> 355 </span> :<span class="lineNoCov"> 0 : if (idata_index == GET_HDIF_HDR)</span></a> +<a name="356"><span class="lineNum"> 356 </span> :<span class="lineNoCov"> 0 : return hdif;</span></a> +<a name="357"><span class="lineNum"> 357 </span> : : </a> +<a name="358"><span class="lineNum"> 358 </span> :<span class="lineNoCov"> 0 : idata = HDIF_get_idata(hdif, idata_index, &size);</span></a> +<a name="359"><span class="lineNum"> 359 </span> :<span class="lineNoCov"> 0 : if (!idata || !size)</span></a> +<a name="360"><span class="lineNum"> 360 </span> :<span class="lineNoCov"> 0 : return NULL;</span></a> +<a name="361"><span class="lineNum"> 361 </span> : : </a> +<a name="362"><span class="lineNum"> 362 </span> :<span class="lineNoCov"> 0 : return idata;</span></a> +<a name="363"><span class="lineNum"> 363 </span> : : }</a> +<a name="364"><span class="lineNum"> 364 </span> : : </a> +<a name="365"><span class="lineNum"> 365 </span> :<span class="lineCov"> 6 : struct dt_node *find_xscom_for_chip(uint32_t chip_id)</span></a> +<a name="366"><span class="lineNum"> 366 </span> : : {</a> +<a name="367"><span class="lineNum"> 367 </span> : : struct dt_node *node;</a> +<a name="368"><span class="lineNum"> 368 </span> : : uint32_t id;</a> +<a name="369"><span class="lineNum"> 369 </span> : : </a> +<a name="370"><span class="lineNum"> 370 </span> :<span class="lineCov"> 9 : dt_for_each_compatible(dt_root, node, "ibm,xscom") {</span></a> +<a name="371"><span class="lineNum"> 371 </span> :<span class="lineCov"> 9 : id = dt_get_chip_id(node);</span></a> +<a name="372"><span class="lineNum"> 372 </span> :<span class="lineCov"> 9 : if (id == chip_id)</span></a> +<a name="373"><span class="lineNum"> 373 </span> :<span class="lineCov"> 6 : return node;</span></a> +<a name="374"><span class="lineNum"> 374 </span> : : }</a> +<a name="375"><span class="lineNum"> 375 </span> : : </a> +<a name="376"><span class="lineNum"> 376 </span> :<span class="lineNoCov"> 0 : return NULL;</span></a> +<a name="377"><span class="lineNum"> 377 </span> : : }</a> +<a name="378"><span class="lineNum"> 378 </span> : : </a> +<a name="379"><span class="lineNum"> 379 </span> :<span class="lineCov"> 2 : static void add_psihb_node(struct dt_node *np)</span></a> +<a name="380"><span class="lineNum"> 380 </span> : : {</a> +<a name="381"><span class="lineNum"> 381 </span> : : u32 psi_scom, psi_slen;</a> +<a name="382"><span class="lineNum"> 382 </span> : : const char *psi_comp;</a> +<a name="383"><span class="lineNum"> 383 </span> : : </a> +<a name="384"><span class="lineNum"> 384 </span> : : /*</a> +<a name="385"><span class="lineNum"> 385 </span> : : * We add a few things under XSCOM that aren't added</a> +<a name="386"><span class="lineNum"> 386 </span> : : * by any other HDAT path</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> : : /* PSI host bridge */</a> +<a name="390"><span class="lineNum"> 390 </span> :<span class="lineCov"> 2 : switch(proc_gen) {</span></a> +<a name="391"><span class="lineNum"> 391 </span> :<span class="lineCov"> 2 : case proc_gen_p8:</span></a> +<a name="392"><span class="lineNum"> 392 </span> :<span class="lineCov"> 2 : psi_scom = 0x2010900;</span></a> +<a name="393"><span class="lineNum"> 393 </span> :<span class="lineCov"> 2 : psi_slen = 0x20;</span></a> +<a name="394"><span class="lineNum"> 394 </span> :<span class="lineCov"> 2 : psi_comp = "ibm,power8-psihb-x";</span></a> +<a name="395"><span class="lineNum"> 395 </span> :<span class="lineCov"> 2 : break;</span></a> +<a name="396"><span class="lineNum"> 396 </span> :<span class="lineNoCov"> 0 : case proc_gen_p9:</span></a> +<a name="397"><span class="lineNum"> 397 </span> :<span class="lineNoCov"> 0 : psi_scom = 0x5012900;</span></a> +<a name="398"><span class="lineNum"> 398 </span> :<span class="lineNoCov"> 0 : psi_slen = 0x100;</span></a> +<a name="399"><span class="lineNum"> 399 </span> :<span class="lineNoCov"> 0 : psi_comp = "ibm,power9-psihb-x";</span></a> +<a name="400"><span class="lineNum"> 400 </span> :<span class="lineNoCov"> 0 : break;</span></a> +<a name="401"><span class="lineNum"> 401 </span> :<span class="lineNoCov"> 0 : case proc_gen_p10:</span></a> +<a name="402"><span class="lineNum"> 402 </span> :<span class="lineNoCov"> 0 : psi_scom = 0x3011d00;</span></a> +<a name="403"><span class="lineNum"> 403 </span> :<span class="lineNoCov"> 0 : psi_slen = 0x100;</span></a> +<a name="404"><span class="lineNum"> 404 </span> :<span class="lineNoCov"> 0 : psi_comp = "ibm,power10-psihb-x";</span></a> +<a name="405"><span class="lineNum"> 405 </span> :<span class="lineNoCov"> 0 : break;</span></a> +<a name="406"><span class="lineNum"> 406 </span> :<span class="lineNoCov"> 0 : default:</span></a> +<a name="407"><span class="lineNum"> 407 </span> :<span class="lineNoCov"> 0 : psi_comp = NULL;</span></a> +<a name="408"><span class="lineNum"> 408 </span> : : }</a> +<a name="409"><span class="lineNum"> 409 </span> :<span class="lineCov"> 2 : if (psi_comp) {</span></a> +<a name="410"><span class="lineNum"> 410 </span> : : struct dt_node *psi_np;</a> <a name="411"><span class="lineNum"> 411 </span> : : </a> -<a name="412"><span class="lineNum"> 412 </span> :<span class="lineCov"> 39 : dt_for_each_compatible(dt_root, node, "ibm,xscom") {</span></a> -<a name="413"><span class="lineNum"> 413 </span> :<span class="lineCov"> 39 : id = dt_get_chip_id(node);</span></a> -<a name="414"><span class="lineNum"> 414 </span> :<span class="lineCov"> 39 : if (id == chip_id)</span></a> -<a name="415"><span class="lineNum"> 415 </span> :<span class="lineCov"> 18 : return node;</span></a> -<a name="416"><span class="lineNum"> 416 </span> : : }</a> -<a name="417"><span class="lineNum"> 417 </span> : : </a> -<a name="418"><span class="lineNum"> 418 </span> :<span class="lineNoCov"> 0 : return NULL;</span></a> -<a name="419"><span class="lineNum"> 419 </span> : : }</a> -<a name="420"><span class="lineNum"> 420 </span> : : </a> -<a name="421"><span class="lineNum"> 421 </span> :<span class="lineCov"> 6 : static void add_psihb_node(struct dt_node *np)</span></a> -<a name="422"><span class="lineNum"> 422 </span> : : {</a> -<a name="423"><span class="lineNum"> 423 </span> : : u32 psi_scom, psi_slen;</a> -<a name="424"><span class="lineNum"> 424 </span> : : const char *psi_comp;</a> -<a name="425"><span class="lineNum"> 425 </span> : : </a> -<a name="426"><span class="lineNum"> 426 </span> : : /*</a> -<a name="427"><span class="lineNum"> 427 </span> : : * We add a few things under XSCOM that aren't added</a> -<a name="428"><span class="lineNum"> 428 </span> : : * by any other HDAT path</a> -<a name="429"><span class="lineNum"> 429 </span> : : */</a> -<a name="430"><span class="lineNum"> 430 </span> : : </a> -<a name="431"><span class="lineNum"> 431 </span> : : /* PSI host bridge */</a> -<a name="432"><span class="lineNum"> 432 </span> :<span class="lineCov"> 6 : switch(proc_gen) {</span></a> -<a name="433"><span class="lineNum"> 433 </span> :<span class="lineCov"> 6 : case proc_gen_p8:</span></a> -<a name="434"><span class="lineNum"> 434 </span> :<span class="lineCov"> 6 : psi_scom = 0x2010900;</span></a> -<a name="435"><span class="lineNum"> 435 </span> :<span class="lineCov"> 6 : psi_slen = 0x20;</span></a> -<a name="436"><span class="lineNum"> 436 </span> :<span class="lineCov"> 6 : psi_comp = "ibm,power8-psihb-x";</span></a> -<a name="437"><span class="lineNum"> 437 </span> :<span class="lineCov"> 6 : break;</span></a> -<a name="438"><span class="lineNum"> 438 </span> :<span class="lineNoCov"> 0 : case proc_gen_p9:</span></a> -<a name="439"><span class="lineNum"> 439 </span> :<span class="lineNoCov"> 0 : psi_scom = 0x5012900;</span></a> -<a name="440"><span class="lineNum"> 440 </span> :<span class="lineNoCov"> 0 : psi_slen = 0x100;</span></a> -<a name="441"><span class="lineNum"> 441 </span> :<span class="lineNoCov"> 0 : psi_comp = "ibm,power9-psihb-x";</span></a> -<a name="442"><span class="lineNum"> 442 </span> :<span class="lineNoCov"> 0 : break;</span></a> -<a name="443"><span class="lineNum"> 443 </span> :<span class="lineNoCov"> 0 : case proc_gen_p10:</span></a> -<a name="444"><span class="lineNum"> 444 </span> :<span class="lineNoCov"> 0 : psi_scom = 0x3011d00;</span></a> -<a name="445"><span class="lineNum"> 445 </span> :<span class="lineNoCov"> 0 : psi_slen = 0x100;</span></a> -<a name="446"><span class="lineNum"> 446 </span> :<span class="lineNoCov"> 0 : psi_comp = "ibm,power10-psihb-x";</span></a> -<a name="447"><span class="lineNum"> 447 </span> :<span class="lineNoCov"> 0 : break;</span></a> -<a name="448"><span class="lineNum"> 448 </span> :<span class="lineNoCov"> 0 : default:</span></a> -<a name="449"><span class="lineNum"> 449 </span> :<span class="lineNoCov"> 0 : psi_comp = NULL;</span></a> -<a name="450"><span class="lineNum"> 450 </span> : : }</a> -<a name="451"><span class="lineNum"> 451 </span> :<span class="lineCov"> 6 : if (psi_comp) {</span></a> -<a name="452"><span class="lineNum"> 452 </span> : : struct dt_node *psi_np;</a> -<a name="453"><span class="lineNum"> 453 </span> : : </a> -<a name="454"><span class="lineNum"> 454 </span> :<span class="lineCov"> 6 : psi_np = dt_new_addr(np, "psihb", psi_scom);</span></a> -<a name="455"><span class="lineNum"> 455 </span> :<span class="lineCov"> 6 : if (!psi_np)</span></a> -<a name="456"><span class="lineNum"> 456 </span> :<span class="lineNoCov"> 0 : return;</span></a> -<a name="457"><span class="lineNum"> 457 </span> : : </a> -<a name="458"><span class="lineNum"> 458 </span> :<span class="lineCov"> 6 : dt_add_property_cells(psi_np, "reg", psi_scom, psi_slen);</span></a> -<a name="459"><span class="lineNum"> 459 </span> :<span class="lineCov"> 6 : dt_add_property_strings(psi_np, "compatible", psi_comp,</span></a> -<a name="460"><span class="lineNum"> 460 </span> : : "ibm,psihb-x");</a> -<a name="461"><span class="lineNum"> 461 </span> : : }</a> -<a name="462"><span class="lineNum"> 462 </span> : : }</a> -<a name="463"><span class="lineNum"> 463 </span> : : </a> -<a name="464"><span class="lineNum"> 464 </span> :<span class="lineNoCov"> 0 : static void add_xive_node(struct dt_node *np)</span></a> -<a name="465"><span class="lineNum"> 465 </span> : : {</a> -<a name="466"><span class="lineNum"> 466 </span> : : struct dt_node *xive;</a> -<a name="467"><span class="lineNum"> 467 </span> : : const char *comp;</a> -<a name="468"><span class="lineNum"> 468 </span> : : u32 scom, slen;</a> -<a name="469"><span class="lineNum"> 469 </span> : : </a> -<a name="470"><span class="lineNum"> 470 </span> :<span class="lineNoCov"> 0 : switch (proc_gen) {</span></a> -<a name="471"><span class="lineNum"> 471 </span> :<span class="lineNoCov"> 0 : case proc_gen_p9:</span></a> -<a name="472"><span class="lineNum"> 472 </span> :<span class="lineNoCov"> 0 : scom = 0x5013000;</span></a> -<a name="473"><span class="lineNum"> 473 </span> :<span class="lineNoCov"> 0 : slen = 0x300;</span></a> -<a name="474"><span class="lineNum"> 474 </span> :<span class="lineNoCov"> 0 : comp = "ibm,power9-xive-x";</span></a> -<a name="475"><span class="lineNum"> 475 </span> :<span class="lineNoCov"> 0 : break;</span></a> -<a name="476"><span class="lineNum"> 476 </span> :<span class="lineNoCov"> 0 : case proc_gen_p10:</span></a> -<a name="477"><span class="lineNum"> 477 </span> :<span class="lineNoCov"> 0 : scom = 0x2010800;</span></a> -<a name="478"><span class="lineNum"> 478 </span> :<span class="lineNoCov"> 0 : slen = 0x400;</span></a> -<a name="479"><span class="lineNum"> 479 </span> :<span class="lineNoCov"> 0 : comp = "ibm,power10-xive-x";</span></a> -<a name="480"><span class="lineNum"> 480 </span> :<span class="lineNoCov"> 0 : break;</span></a> -<a name="481"><span class="lineNum"> 481 </span> :<span class="lineNoCov"> 0 : default:</span></a> -<a name="482"><span class="lineNum"> 482 </span> :<span class="lineNoCov"> 0 : return;</span></a> -<a name="483"><span class="lineNum"> 483 </span> : : }</a> +<a name="412"><span class="lineNum"> 412 </span> :<span class="lineCov"> 2 : psi_np = dt_new_addr(np, "psihb", psi_scom);</span></a> +<a name="413"><span class="lineNum"> 413 </span> :<span class="lineCov"> 2 : if (!psi_np)</span></a> +<a name="414"><span class="lineNum"> 414 </span> :<span class="lineNoCov"> 0 : return;</span></a> +<a name="415"><span class="lineNum"> 415 </span> : : </a> +<a name="416"><span class="lineNum"> 416 </span> :<span class="lineCov"> 2 : dt_add_property_cells(psi_np, "reg", psi_scom, psi_slen);</span></a> +<a name="417"><span class="lineNum"> 417 </span> :<span class="lineCov"> 2 : dt_add_property_strings(psi_np, "compatible", psi_comp,</span></a> +<a name="418"><span class="lineNum"> 418 </span> : : "ibm,psihb-x");</a> +<a name="419"><span class="lineNum"> 419 </span> : : }</a> +<a name="420"><span class="lineNum"> 420 </span> : : }</a> +<a name="421"><span class="lineNum"> 421 </span> : : </a> +<a name="422"><span class="lineNum"> 422 </span> :<span class="lineNoCov"> 0 : static void add_xive_node(struct dt_node *np)</span></a> +<a name="423"><span class="lineNum"> 423 </span> : : {</a> +<a name="424"><span class="lineNum"> 424 </span> : : struct dt_node *xive;</a> +<a name="425"><span class="lineNum"> 425 </span> : : const char *comp;</a> +<a name="426"><span class="lineNum"> 426 </span> : : u32 scom, slen;</a> +<a name="427"><span class="lineNum"> 427 </span> : : </a> +<a name="428"><span class="lineNum"> 428 </span> :<span class="lineNoCov"> 0 : switch (proc_gen) {</span></a> +<a name="429"><span class="lineNum"> 429 </span> :<span class="lineNoCov"> 0 : case proc_gen_p9:</span></a> +<a name="430"><span class="lineNum"> 430 </span> :<span class="lineNoCov"> 0 : scom = 0x5013000;</span></a> +<a name="431"><span class="lineNum"> 431 </span> :<span class="lineNoCov"> 0 : slen = 0x300;</span></a> +<a name="432"><span class="lineNum"> 432 </span> :<span class="lineNoCov"> 0 : comp = "ibm,power9-xive-x";</span></a> +<a name="433"><span class="lineNum"> 433 </span> :<span class="lineNoCov"> 0 : break;</span></a> +<a name="434"><span class="lineNum"> 434 </span> :<span class="lineNoCov"> 0 : case proc_gen_p10:</span></a> +<a name="435"><span class="lineNum"> 435 </span> :<span class="lineNoCov"> 0 : scom = 0x2010800;</span></a> +<a name="436"><span class="lineNum"> 436 </span> :<span class="lineNoCov"> 0 : slen = 0x400;</span></a> +<a name="437"><span class="lineNum"> 437 </span> :<span class="lineNoCov"> 0 : comp = "ibm,power10-xive-x";</span></a> +<a name="438"><span class="lineNum"> 438 </span> :<span class="lineNoCov"> 0 : break;</span></a> +<a name="439"><span class="lineNum"> 439 </span> :<span class="lineNoCov"> 0 : default:</span></a> +<a name="440"><span class="lineNum"> 440 </span> :<span class="lineNoCov"> 0 : return;</span></a> +<a name="441"><span class="lineNum"> 441 </span> : : }</a> +<a name="442"><span class="lineNum"> 442 </span> : : </a> +<a name="443"><span class="lineNum"> 443 </span> :<span class="lineNoCov"> 0 : xive = dt_new_addr(np, "xive", scom);</span></a> +<a name="444"><span class="lineNum"> 444 </span> :<span class="lineNoCov"> 0 : dt_add_property_cells(xive, "reg", scom, slen);</span></a> +<a name="445"><span class="lineNum"> 445 </span> :<span class="lineNoCov"> 0 : dt_add_property_string(xive, "compatible", comp);</span></a> +<a name="446"><span class="lineNum"> 446 </span> : : </a> +<a name="447"><span class="lineNum"> 447 </span> : : /* HACK: required for simics */</a> +<a name="448"><span class="lineNum"> 448 </span> :<span class="lineNoCov"> 0 : dt_add_property(xive, "force-assign-bars", NULL, 0);</span></a> +<a name="449"><span class="lineNum"> 449 </span> : : }</a> +<a name="450"><span class="lineNum"> 450 </span> : : </a> +<a name="451"><span class="lineNum"> 451 </span> :<span class="lineNoCov"> 0 : static void add_vas_node(struct dt_node *np, int idx)</span></a> +<a name="452"><span class="lineNum"> 452 </span> : : {</a> +<a name="453"><span class="lineNum"> 453 </span> : : struct dt_node *vas;</a> +<a name="454"><span class="lineNum"> 454 </span> : : const char *comp;</a> +<a name="455"><span class="lineNum"> 455 </span> : : uint64_t base_addr;</a> +<a name="456"><span class="lineNum"> 456 </span> : : </a> +<a name="457"><span class="lineNum"> 457 </span> :<span class="lineNoCov"> 0 : if (proc_gen == proc_gen_p9) {</span></a> +<a name="458"><span class="lineNum"> 458 </span> :<span class="lineNoCov"> 0 : base_addr = P9_VAS_SCOM_BASE_ADDR;</span></a> +<a name="459"><span class="lineNum"> 459 </span> :<span class="lineNoCov"> 0 : comp = "ibm,power9-vas-x";</span></a> +<a name="460"><span class="lineNum"> 460 </span> : : } else {</a> +<a name="461"><span class="lineNum"> 461 </span> :<span class="lineNoCov"> 0 : base_addr = VAS_SCOM_BASE_ADDR;</span></a> +<a name="462"><span class="lineNum"> 462 </span> :<span class="lineNoCov"> 0 : comp = "ibm,power10-vas-x";</span></a> +<a name="463"><span class="lineNum"> 463 </span> : : }</a> +<a name="464"><span class="lineNum"> 464 </span> : : </a> +<a name="465"><span class="lineNum"> 465 </span> :<span class="lineNoCov"> 0 : vas = dt_new_addr(np, "vas", base_addr);</span></a> +<a name="466"><span class="lineNum"> 466 </span> :<span class="lineNoCov"> 0 : dt_add_property_cells(vas, "reg", base_addr, 0x300);</span></a> +<a name="467"><span class="lineNum"> 467 </span> :<span class="lineNoCov"> 0 : dt_add_property_string(vas, "compatible", comp);</span></a> +<a name="468"><span class="lineNum"> 468 </span> :<span class="lineNoCov"> 0 : dt_add_property_cells(vas, "ibm,vas-id", idx);</span></a> +<a name="469"><span class="lineNum"> 469 </span> :<span class="lineNoCov"> 0 : }</span></a> +<a name="470"><span class="lineNum"> 470 </span> : : </a> +<a name="471"><span class="lineNum"> 471 </span> :<span class="lineNoCov"> 0 : static void add_ecid_data(const struct HDIF_common_hdr *hdr,</span></a> +<a name="472"><span class="lineNum"> 472 </span> : : struct dt_node *xscom)</a> +<a name="473"><span class="lineNum"> 473 </span> : : {</a> +<a name="474"><span class="lineNum"> 474 </span> : : char wafer_id[11];</a> +<a name="475"><span class="lineNum"> 475 </span> : : uint8_t tmp;</a> +<a name="476"><span class="lineNum"> 476 </span> : : int i;</a> +<a name="477"><span class="lineNum"> 477 </span> :<span class="lineNoCov"> 0 : uint32_t size = 0;</span></a> +<a name="478"><span class="lineNum"> 478 </span> : : struct sppcrd_ecid *ecid;</a> +<a name="479"><span class="lineNum"> 479 </span> : : const struct HDIF_array_hdr *ec_hdr;</a> +<a name="480"><span class="lineNum"> 480 </span> : : </a> +<a name="481"><span class="lineNum"> 481 </span> :<span class="lineNoCov"> 0 : ec_hdr = HDIF_get_idata(hdr, SPPCRD_IDATA_EC_LEVEL, &size);</span></a> +<a name="482"><span class="lineNum"> 482 </span> :<span class="lineNoCov"> 0 : if (!ec_hdr || !size)</span></a> +<a name="483"><span class="lineNum"> 483 </span> :<span class="lineNoCov"> 0 : return;</span></a> <a name="484"><span class="lineNum"> 484 </span> : : </a> -<a name="485"><span class="lineNum"> 485 </span> :<span class="lineNoCov"> 0 : xive = dt_new_addr(np, "xive", scom);</span></a> -<a name="486"><span class="lineNum"> 486 </span> :<span class="lineNoCov"> 0 : dt_add_property_cells(xive, "reg", scom, slen);</span></a> -<a name="487"><span class="lineNum"> 487 </span> :<span class="lineNoCov"> 0 : dt_add_property_string(xive, "compatible", comp);</span></a> +<a name="485"><span class="lineNum"> 485 </span> :<span class="lineNoCov"> 0 : ecid = (void *)ec_hdr + be32_to_cpu(ec_hdr->offset);</span></a> +<a name="486"><span class="lineNum"> 486 </span> :<span class="lineNoCov"> 0 : dt_add_property_u64s(xscom, "ecid", be64_to_cpu(ecid->low),</span></a> +<a name="487"><span class="lineNum"> 487 </span> : : be64_to_cpu(ecid->high));</a> <a name="488"><span class="lineNum"> 488 </span> : : </a> -<a name="489"><span class="lineNum"> 489 </span> : : /* HACK: required for simics */</a> -<a name="490"><span class="lineNum"> 490 </span> :<span class="lineNoCov"> 0 : dt_add_property(xive, "force-assign-bars", NULL, 0);</span></a> -<a name="491"><span class="lineNum"> 491 </span> : : }</a> -<a name="492"><span class="lineNum"> 492 </span> : : </a> -<a name="493"><span class="lineNum"> 493 </span> :<span class="lineNoCov"> 0 : static void add_vas_node(struct dt_node *np, int idx)</span></a> -<a name="494"><span class="lineNum"> 494 </span> : : {</a> -<a name="495"><span class="lineNum"> 495 </span> : : struct dt_node *vas;</a> -<a name="496"><span class="lineNum"> 496 </span> : : const char *comp;</a> -<a name="497"><span class="lineNum"> 497 </span> : : uint64_t base_addr;</a> -<a name="498"><span class="lineNum"> 498 </span> : : </a> -<a name="499"><span class="lineNum"> 499 </span> :<span class="lineNoCov"> 0 : if (proc_gen == proc_gen_p9) {</span></a> -<a name="500"><span class="lineNum"> 500 </span> :<span class="lineNoCov"> 0 : base_addr = P9_VAS_SCOM_BASE_ADDR;</span></a> -<a name="501"><span class="lineNum"> 501 </span> :<span class="lineNoCov"> 0 : comp = "ibm,power9-vas-x";</span></a> -<a name="502"><span class="lineNum"> 502 </span> : : } else {</a> -<a name="503"><span class="lineNum"> 503 </span> :<span class="lineNoCov"> 0 : base_addr = VAS_SCOM_BASE_ADDR;</span></a> -<a name="504"><span class="lineNum"> 504 </span> :<span class="lineNoCov"> 0 : comp = "ibm,power10-vas-x";</span></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> :<span class="lineNoCov"> 0 : vas = dt_new_addr(np, "vas", base_addr);</span></a> -<a name="508"><span class="lineNum"> 508 </span> :<span class="lineNoCov"> 0 : dt_add_property_cells(vas, "reg", base_addr, 0x300);</span></a> -<a name="509"><span class="lineNum"> 509 </span> :<span class="lineNoCov"> 0 : dt_add_property_string(vas, "compatible", comp);</span></a> -<a name="510"><span class="lineNum"> 510 </span> :<span class="lineNoCov"> 0 : dt_add_property_cells(vas, "ibm,vas-id", idx);</span></a> -<a name="511"><span class="lineNum"> 511 </span> :<span class="lineNoCov"> 0 : }</span></a> -<a name="512"><span class="lineNum"> 512 </span> : : </a> -<a name="513"><span class="lineNum"> 513 </span> :<span class="lineNoCov"> 0 : static void add_ecid_data(const struct HDIF_common_hdr *hdr,</span></a> -<a name="514"><span class="lineNum"> 514 </span> : : struct dt_node *xscom)</a> -<a name="515"><span class="lineNum"> 515 </span> : : {</a> -<a name="516"><span class="lineNum"> 516 </span> : : char wafer_id[11];</a> -<a name="517"><span class="lineNum"> 517 </span> : : uint8_t tmp;</a> -<a name="518"><span class="lineNum"> 518 </span> : : int i;</a> -<a name="519"><span class="lineNum"> 519 </span> :<span class="lineNoCov"> 0 : uint32_t size = 0;</span></a> -<a name="520"><span class="lineNum"> 520 </span> : : struct sppcrd_ecid *ecid;</a> -<a name="521"><span class="lineNum"> 521 </span> : : const struct HDIF_array_hdr *ec_hdr;</a> -<a name="522"><span class="lineNum"> 522 </span> : : </a> -<a name="523"><span class="lineNum"> 523 </span> :<span class="lineNoCov"> 0 : ec_hdr = HDIF_get_idata(hdr, SPPCRD_IDATA_EC_LEVEL, &size);</span></a> -<a name="524"><span class="lineNum"> 524 </span> :<span class="lineNoCov"> 0 : if (!ec_hdr || !size)</span></a> -<a name="525"><span class="lineNum"> 525 </span> :<span class="lineNoCov"> 0 : return;</span></a> -<a name="526"><span class="lineNum"> 526 </span> : : </a> -<a name="527"><span class="lineNum"> 527 </span> :<span class="lineNoCov"> 0 : ecid = (void *)ec_hdr + be32_to_cpu(ec_hdr->offset);</span></a> -<a name="528"><span class="lineNum"> 528 </span> :<span class="lineNoCov"> 0 : dt_add_property_u64s(xscom, "ecid", be64_to_cpu(ecid->low),</span></a> -<a name="529"><span class="lineNum"> 529 </span> : : be64_to_cpu(ecid->high));</a> -<a name="530"><span class="lineNum"> 530 </span> : : </a> -<a name="531"><span class="lineNum"> 531 </span> : : /*</a> -<a name="532"><span class="lineNum"> 532 </span> : : * bits 4:63 of ECID data contains wafter ID data (ten 6 bit fields</a> -<a name="533"><span class="lineNum"> 533 </span> : : * each containing a code).</a> -<a name="534"><span class="lineNum"> 534 </span> : : */</a> -<a name="535"><span class="lineNum"> 535 </span> :<span class="lineNoCov"> 0 : for (i = 0; i < 10; i++) {</span></a> -<a name="536"><span class="lineNum"> 536 </span> :<span class="lineNoCov"> 0 : tmp = (u8)((be64_to_cpu(ecid->low) >> (i * 6)) & 0x3f);</span></a> -<a name="537"><span class="lineNum"> 537 </span> :<span class="lineNoCov"> 0 : if (tmp <= 9)</span></a> -<a name="538"><span class="lineNum"> 538 </span> :<span class="lineNoCov"> 0 : wafer_id[9 - i] = tmp + '0';</span></a> -<a name="539"><span class="lineNum"> 539 </span> :<span class="lineNoCov"> 0 : else if (tmp >= 0xA && tmp <= 0x23)</span></a> -<a name="540"><span class="lineNum"> 540 </span> :<span class="lineNoCov"> 0 : wafer_id[9 - i] = tmp + '0' + 7;</span></a> -<a name="541"><span class="lineNum"> 541 </span> :<span class="lineNoCov"> 0 : else if (tmp == 0x3D)</span></a> -<a name="542"><span class="lineNum"> 542 </span> :<span class="lineNoCov"> 0 : wafer_id[9 - i] = '-';</span></a> -<a name="543"><span class="lineNum"> 543 </span> :<span class="lineNoCov"> 0 : else if (tmp == 0x3E)</span></a> -<a name="544"><span class="lineNum"> 544 </span> :<span class="lineNoCov"> 0 : wafer_id[9 - i] = '.';</span></a> -<a name="545"><span class="lineNum"> 545 </span> :<span class="lineNoCov"> 0 : else if (tmp == 0x3F)</span></a> -<a name="546"><span class="lineNum"> 546 </span> :<span class="lineNoCov"> 0 : wafer_id[9 - i] = ' ';</span></a> -<a name="547"><span class="lineNum"> 547 </span> : : else /* Unknown code */</a> -<a name="548"><span class="lineNum"> 548 </span> :<span class="lineNoCov"> 0 : wafer_id[9 - i] = tmp + '0';</span></a> -<a name="549"><span class="lineNum"> 549 </span> : : }</a> -<a name="550"><span class="lineNum"> 550 </span> :<span class="lineNoCov"> 0 : wafer_id[10] = '\0';</span></a> -<a name="551"><span class="lineNum"> 551 </span> :<span class="lineNoCov"> 0 : dt_add_property_nstr(xscom, "wafer-id", wafer_id, 10);</span></a> -<a name="552"><span class="lineNum"> 552 </span> : : </a> -<a name="553"><span class="lineNum"> 553 </span> :<span class="lineNoCov"> 0 : dt_add_property_cells(xscom, "wafer-location",</span></a> -<a name="554"><span class="lineNum"> 554 </span> : : (u32)((be64_to_cpu(ecid->high) >> 56) & 0xff),</a> -<a name="555"><span class="lineNum"> 555 </span> : : (u32)((be64_to_cpu(ecid->high) >> 48) & 0xff));</a> -<a name="556"><span class="lineNum"> 556 </span> : : }</a> -<a name="557"><span class="lineNum"> 557 </span> : : </a> -<a name="558"><span class="lineNum"> 558 </span> :<span class="lineCov"> 6 : static void add_xscom_add_pcia_assoc(struct dt_node *np, uint32_t pcid)</span></a> -<a name="559"><span class="lineNum"> 559 </span> : : {</a> -<a name="560"><span class="lineNum"> 560 </span> : : const struct HDIF_common_hdr *hdr;</a> -<a name="561"><span class="lineNum"> 561 </span> : : u32 size;</a> -<a name="562"><span class="lineNum"> 562 </span> : : </a> -<a name="563"><span class="lineNum"> 563 </span> : : </a> -<a name="564"><span class="lineNum"> 564 </span> : : /*</a> -<a name="565"><span class="lineNum"> 565 </span> : : * The SPPCRD doesn't contain all the affinity data, we have</a> -<a name="566"><span class="lineNum"> 566 </span> : : * to dig it out of a core. I assume this is so that node</a> -<a name="567"><span class="lineNum"> 567 </span> : : * affinity can be different for groups of cores within the</a> -<a name="568"><span class="lineNum"> 568 </span> : : * chip, but for now we are going to ignore that</a> -<a name="569"><span class="lineNum"> 569 </span> : : */</a> -<a name="570"><span class="lineNum"> 570 </span> :<span class="lineCov"> 6 : hdr = get_hdif(&spira.ntuples.pcia, SPPCIA_HDIF_SIG);</span></a> -<a name="571"><span class="lineNum"> 571 </span> :<span class="lineCov"> 6 : if (!hdr)</span></a> -<a name="572"><span class="lineNum"> 572 </span> :<span class="lineCov"> 6 : return;</span></a> -<a name="573"><span class="lineNum"> 573 </span> : : </a> -<a name="574"><span class="lineNum"> 574 </span> :<span class="lineCov"> 39 : for_each_pcia(hdr) {</span></a> -<a name="575"><span class="lineNum"> 575 </span> : : const struct sppcia_core_unique *id;</a> -<a name="576"><span class="lineNum"> 576 </span> : : </a> -<a name="577"><span class="lineNum"> 577 </span> :<span class="lineCov"> 39 : id = HDIF_get_idata(hdr, SPPCIA_IDATA_CORE_UNIQUE, &size);</span></a> -<a name="578"><span class="lineNum"> 578 </span> :<span class="lineCov"> 39 : if (!id || size < sizeof(*id))</span></a> -<a name="579"><span class="lineNum"> 579 </span> :<span class="lineCov"> 33 : continue;</span></a> -<a name="580"><span class="lineNum"> 580 </span> : : </a> -<a name="581"><span class="lineNum"> 581 </span> :<span class="lineCov"> 39 : if (be32_to_cpu(id->proc_chip_id) != pcid)</span></a> -<a name="582"><span class="lineNum"> 582 </span> :<span class="lineCov"> 33 : continue;</span></a> -<a name="583"><span class="lineNum"> 583 </span> : : </a> -<a name="584"><span class="lineNum"> 584 </span> :<span class="lineCov"> 6 : dt_add_property_cells(np, "ibm,ccm-node-id",</span></a> -<a name="585"><span class="lineNum"> 585 </span> : : be32_to_cpu(id->ccm_node_id));</a> -<a name="586"><span class="lineNum"> 586 </span> :<span class="lineCov"> 6 : dt_add_property_cells(np, "ibm,hw-card-id",</span></a> -<a name="587"><span class="lineNum"> 587 </span> : : be32_to_cpu(id->hw_card_id));</a> -<a name="588"><span class="lineNum"> 588 </span> :<span class="lineCov"> 6 : dt_add_property_cells(np, "ibm,hw-module-id",</span></a> -<a name="589"><span class="lineNum"> 589 </span> : : be32_to_cpu(id->hw_module_id));</a> -<a name="590"><span class="lineNum"> 590 </span> :<span class="lineCov"> 6 : if (!dt_find_property(np, "ibm,dbob-id"))</span></a> -<a name="591"><span class="lineNum"> 591 </span> :<span class="lineNoCov"> 0 : dt_add_property_cells(np, "ibm,dbob-id",</span></a> -<a name="592"><span class="lineNum"> 592 </span> : : be32_to_cpu(id->drawer_book_octant_blade_id));</a> -<a name="593"><span class="lineNum"> 593 </span> :<span class="lineCov"> 6 : if (proc_gen < proc_gen_p9) {</span></a> -<a name="594"><span class="lineNum"> 594 </span> :<span class="lineCov"> 6 : dt_add_property_cells(np, "ibm,mem-interleave-scope",</span></a> -<a name="595"><span class="lineNum"> 595 </span> : : be32_to_cpu(id->memory_interleaving_scope));</a> -<a name="596"><span class="lineNum"> 596 </span> : : }</a> -<a name="597"><span class="lineNum"> 597 </span> :<span class="lineCov"> 6 : return;</span></a> -<a name="598"><span class="lineNum"> 598 </span> : : }</a> -<a name="599"><span class="lineNum"> 599 </span> : : }</a> -<a name="600"><span class="lineNum"> 600 </span> : : </a> -<a name="601"><span class="lineNum"> 601 </span> :<span class="lineCov"> 2 : static bool add_xscom_sppcrd(uint64_t xscom_base)</span></a> -<a name="602"><span class="lineNum"> 602 </span> : : {</a> -<a name="603"><span class="lineNum"> 603 </span> : : const struct HDIF_common_hdr *hdif;</a> -<a name="604"><span class="lineNum"> 604 </span> : : unsigned int i, vpd_sz;</a> -<a name="605"><span class="lineNum"> 605 </span> : : const void *vpd;</a> -<a name="606"><span class="lineNum"> 606 </span> : : struct dt_node *np, *vpd_node;</a> -<a name="607"><span class="lineNum"> 607 </span> : : </a> -<a name="608"><span class="lineNum"> 608 </span> :<span class="lineCov"> 66 : for_each_ntuple_idx(&spira.ntuples.proc_chip, hdif, i,</span></a> -<a name="609"><span class="lineNum"> 609 </span> : : SPPCRD_HDIF_SIG) {</a> -<a name="610"><span class="lineNum"> 610 </span> : : const struct sppcrd_chip_info *cinfo;</a> -<a name="611"><span class="lineNum"> 611 </span> :<span class="lineCov"> 64 : const struct spira_fru_id *fru_id = NULL;</span></a> -<a name="612"><span class="lineNum"> 612 </span> : : unsigned int csize;</a> -<a name="613"><span class="lineNum"> 613 </span> : : u32 ve, version;</a> +<a name="489"><span class="lineNum"> 489 </span> : : /*</a> +<a name="490"><span class="lineNum"> 490 </span> : : * bits 4:63 of ECID data contains wafter ID data (ten 6 bit fields</a> +<a name="491"><span class="lineNum"> 491 </span> : : * each containing a code).</a> +<a name="492"><span class="lineNum"> 492 </span> : : */</a> +<a name="493"><span class="lineNum"> 493 </span> :<span class="lineNoCov"> 0 : for (i = 0; i < 10; i++) {</span></a> +<a name="494"><span class="lineNum"> 494 </span> :<span class="lineNoCov"> 0 : tmp = (u8)((be64_to_cpu(ecid->low) >> (i * 6)) & 0x3f);</span></a> +<a name="495"><span class="lineNum"> 495 </span> :<span class="lineNoCov"> 0 : if (tmp <= 9)</span></a> +<a name="496"><span class="lineNum"> 496 </span> :<span class="lineNoCov"> 0 : wafer_id[9 - i] = tmp + '0';</span></a> +<a name="497"><span class="lineNum"> 497 </span> :<span class="lineNoCov"> 0 : else if (tmp >= 0xA && tmp <= 0x23)</span></a> +<a name="498"><span class="lineNum"> 498 </span> :<span class="lineNoCov"> 0 : wafer_id[9 - i] = tmp + '0' + 7;</span></a> +<a name="499"><span class="lineNum"> 499 </span> :<span class="lineNoCov"> 0 : else if (tmp == 0x3D)</span></a> +<a name="500"><span class="lineNum"> 500 </span> :<span class="lineNoCov"> 0 : wafer_id[9 - i] = '-';</span></a> +<a name="501"><span class="lineNum"> 501 </span> :<span class="lineNoCov"> 0 : else if (tmp == 0x3E)</span></a> +<a name="502"><span class="lineNum"> 502 </span> :<span class="lineNoCov"> 0 : wafer_id[9 - i] = '.';</span></a> +<a name="503"><span class="lineNum"> 503 </span> :<span class="lineNoCov"> 0 : else if (tmp == 0x3F)</span></a> +<a name="504"><span class="lineNum"> 504 </span> :<span class="lineNoCov"> 0 : wafer_id[9 - i] = ' ';</span></a> +<a name="505"><span class="lineNum"> 505 </span> : : else /* Unknown code */</a> +<a name="506"><span class="lineNum"> 506 </span> :<span class="lineNoCov"> 0 : wafer_id[9 - i] = tmp + '0';</span></a> +<a name="507"><span class="lineNum"> 507 </span> : : }</a> +<a name="508"><span class="lineNum"> 508 </span> :<span class="lineNoCov"> 0 : wafer_id[10] = '\0';</span></a> +<a name="509"><span class="lineNum"> 509 </span> :<span class="lineNoCov"> 0 : dt_add_property_nstr(xscom, "wafer-id", wafer_id, 10);</span></a> +<a name="510"><span class="lineNum"> 510 </span> : : </a> +<a name="511"><span class="lineNum"> 511 </span> :<span class="lineNoCov"> 0 : dt_add_property_cells(xscom, "wafer-location",</span></a> +<a name="512"><span class="lineNum"> 512 </span> : : (u32)((be64_to_cpu(ecid->high) >> 56) & 0xff),</a> +<a name="513"><span class="lineNum"> 513 </span> : : (u32)((be64_to_cpu(ecid->high) >> 48) & 0xff));</a> +<a name="514"><span class="lineNum"> 514 </span> : : }</a> +<a name="515"><span class="lineNum"> 515 </span> : : </a> +<a name="516"><span class="lineNum"> 516 </span> :<span class="lineCov"> 2 : static void add_xscom_add_pcia_assoc(struct dt_node *np, uint32_t pcid)</span></a> +<a name="517"><span class="lineNum"> 517 </span> : : {</a> +<a name="518"><span class="lineNum"> 518 </span> : : const struct HDIF_common_hdr *hdr;</a> +<a name="519"><span class="lineNum"> 519 </span> : : u32 size;</a> +<a name="520"><span class="lineNum"> 520 </span> : : </a> +<a name="521"><span class="lineNum"> 521 </span> : : </a> +<a name="522"><span class="lineNum"> 522 </span> : : /*</a> +<a name="523"><span class="lineNum"> 523 </span> : : * The SPPCRD doesn't contain all the affinity data, we have</a> +<a name="524"><span class="lineNum"> 524 </span> : : * to dig it out of a core. I assume this is so that node</a> +<a name="525"><span class="lineNum"> 525 </span> : : * affinity can be different for groups of cores within the</a> +<a name="526"><span class="lineNum"> 526 </span> : : * chip, but for now we are going to ignore that</a> +<a name="527"><span class="lineNum"> 527 </span> : : */</a> +<a name="528"><span class="lineNum"> 528 </span> :<span class="lineCov"> 2 : hdr = get_hdif(&spiras->ntuples.pcia, SPPCIA_HDIF_SIG);</span></a> +<a name="529"><span class="lineNum"> 529 </span> :<span class="lineCov"> 2 : if (!hdr)</span></a> +<a name="530"><span class="lineNum"> 530 </span> :<span class="lineCov"> 2 : return;</span></a> +<a name="531"><span class="lineNum"> 531 </span> : : </a> +<a name="532"><span class="lineNum"> 532 </span> :<span class="lineCov"> 5 : for_each_pcia(spiras, hdr) {</span></a> +<a name="533"><span class="lineNum"> 533 </span> : : const struct sppcia_core_unique *id;</a> +<a name="534"><span class="lineNum"> 534 </span> : : </a> +<a name="535"><span class="lineNum"> 535 </span> :<span class="lineCov"> 5 : id = HDIF_get_idata(hdr, SPPCIA_IDATA_CORE_UNIQUE, &size);</span></a> +<a name="536"><span class="lineNum"> 536 </span> :<span class="lineCov"> 5 : if (!id || size < sizeof(*id))</span></a> +<a name="537"><span class="lineNum"> 537 </span> :<span class="lineCov"> 3 : continue;</span></a> +<a name="538"><span class="lineNum"> 538 </span> : : </a> +<a name="539"><span class="lineNum"> 539 </span> :<span class="lineCov"> 5 : if (be32_to_cpu(id->proc_chip_id) != pcid)</span></a> +<a name="540"><span class="lineNum"> 540 </span> :<span class="lineCov"> 3 : continue;</span></a> +<a name="541"><span class="lineNum"> 541 </span> : : </a> +<a name="542"><span class="lineNum"> 542 </span> :<span class="lineCov"> 2 : dt_add_property_cells(np, "ibm,ccm-node-id",</span></a> +<a name="543"><span class="lineNum"> 543 </span> : : be32_to_cpu(id->ccm_node_id));</a> +<a name="544"><span class="lineNum"> 544 </span> :<span class="lineCov"> 2 : dt_add_property_cells(np, "ibm,hw-card-id",</span></a> +<a name="545"><span class="lineNum"> 545 </span> : : be32_to_cpu(id->hw_card_id));</a> +<a name="546"><span class="lineNum"> 546 </span> :<span class="lineCov"> 2 : dt_add_property_cells(np, "ibm,hw-module-id",</span></a> +<a name="547"><span class="lineNum"> 547 </span> : : be32_to_cpu(id->hw_module_id));</a> +<a name="548"><span class="lineNum"> 548 </span> :<span class="lineCov"> 2 : if (!dt_find_property(np, "ibm,dbob-id"))</span></a> +<a name="549"><span class="lineNum"> 549 </span> :<span class="lineNoCov"> 0 : dt_add_property_cells(np, "ibm,dbob-id",</span></a> +<a name="550"><span class="lineNum"> 550 </span> : : be32_to_cpu(id->drawer_book_octant_blade_id));</a> +<a name="551"><span class="lineNum"> 551 </span> :<span class="lineCov"> 2 : if (proc_gen < proc_gen_p9) {</span></a> +<a name="552"><span class="lineNum"> 552 </span> :<span class="lineCov"> 2 : dt_add_property_cells(np, "ibm,mem-interleave-scope",</span></a> +<a name="553"><span class="lineNum"> 553 </span> : : be32_to_cpu(id->memory_interleaving_scope));</a> +<a name="554"><span class="lineNum"> 554 </span> : : }</a> +<a name="555"><span class="lineNum"> 555 </span> :<span class="lineCov"> 2 : return;</span></a> +<a name="556"><span class="lineNum"> 556 </span> : : }</a> +<a name="557"><span class="lineNum"> 557 </span> : : }</a> +<a name="558"><span class="lineNum"> 558 </span> : : </a> +<a name="559"><span class="lineNum"> 559 </span> :<span class="lineCov"> 1 : static bool add_xscom_sppcrd(uint64_t xscom_base)</span></a> +<a name="560"><span class="lineNum"> 560 </span> : : {</a> +<a name="561"><span class="lineNum"> 561 </span> : : const struct HDIF_common_hdr *hdif;</a> +<a name="562"><span class="lineNum"> 562 </span> : : unsigned int i, vpd_sz;</a> +<a name="563"><span class="lineNum"> 563 </span> : : const void *vpd;</a> +<a name="564"><span class="lineNum"> 564 </span> : : struct dt_node *np, *vpd_node;</a> +<a name="565"><span class="lineNum"> 565 </span> : : </a> +<a name="566"><span class="lineNum"> 566 </span> :<span class="lineCov"> 33 : for_each_ntuple_idx(&spiras->ntuples.proc_chip, hdif, i,</span></a> +<a name="567"><span class="lineNum"> 567 </span> : : SPPCRD_HDIF_SIG) {</a> +<a name="568"><span class="lineNum"> 568 </span> : : const struct sppcrd_chip_info *cinfo;</a> +<a name="569"><span class="lineNum"> 569 </span> :<span class="lineCov"> 32 : const struct spira_fru_id *fru_id = NULL;</span></a> +<a name="570"><span class="lineNum"> 570 </span> : : unsigned int csize;</a> +<a name="571"><span class="lineNum"> 571 </span> : : u32 ve, version;</a> +<a name="572"><span class="lineNum"> 572 </span> : : </a> +<a name="573"><span class="lineNum"> 573 </span> :<span class="lineCov"> 32 : cinfo = HDIF_get_idata(hdif, SPPCRD_IDATA_CHIP_INFO, &csize);</span></a> +<a name="574"><span class="lineNum"> 574 </span> :<span class="lineCov"> 32 : if (!CHECK_SPPTR(cinfo)) {</span></a> +<a name="575"><span class="lineNum"> 575 </span> :<span class="lineNoCov"> 0 : prerror("XSCOM: Bad ChipID data %d\n", i);</span></a> +<a name="576"><span class="lineNum"> 576 </span> :<span class="lineCov"> 30 : continue;</span></a> +<a name="577"><span class="lineNum"> 577 </span> : : }</a> +<a name="578"><span class="lineNum"> 578 </span> : : </a> +<a name="579"><span class="lineNum"> 579 </span> :<span class="lineCov"> 32 : ve = be32_to_cpu(cinfo->verif_exist_flags) & CHIP_VERIFY_MASK;</span></a> +<a name="580"><span class="lineNum"> 580 </span> :<span class="lineCov"> 32 : ve >>= CHIP_VERIFY_SHIFT;</span></a> +<a name="581"><span class="lineNum"> 581 </span> :<span class="lineCov"> 32 : if (ve == CHIP_VERIFY_NOT_INSTALLED ||</span></a> +<a name="582"><span class="lineNum"> 582 </span> : : ve == CHIP_VERIFY_UNUSABLE)</a> +<a name="583"><span class="lineNum"> 583 </span> :<span class="lineCov"> 30 : continue;</span></a> +<a name="584"><span class="lineNum"> 584 </span> : : </a> +<a name="585"><span class="lineNum"> 585 </span> : : /* Create the XSCOM node */</a> +<a name="586"><span class="lineNum"> 586 </span> :<span class="lineCov"> 2 : np = add_xscom_node(xscom_base, cinfo);</span></a> +<a name="587"><span class="lineNum"> 587 </span> :<span class="lineCov"> 2 : if (!np)</span></a> +<a name="588"><span class="lineNum"> 588 </span> :<span class="lineNoCov"> 0 : continue;</span></a> +<a name="589"><span class="lineNum"> 589 </span> : : </a> +<a name="590"><span class="lineNum"> 590 </span> : : </a> +<a name="591"><span class="lineNum"> 591 </span> :<span class="lineCov"> 2 : dt_add_property_cells(np, DT_PRIVATE "sppcrd-index", i);</span></a> +<a name="592"><span class="lineNum"> 592 </span> : : </a> +<a name="593"><span class="lineNum"> 593 </span> :<span class="lineCov"> 2 : version = be16_to_cpu(hdif->version);</span></a> +<a name="594"><span class="lineNum"> 594 </span> : : </a> +<a name="595"><span class="lineNum"> 595 </span> : : /* Version 0A has additional OCC related stuff */</a> +<a name="596"><span class="lineNum"> 596 </span> :<span class="lineCov"> 2 : if (version >= 0x000a) {</span></a> +<a name="597"><span class="lineNum"> 597 </span> :<span class="lineCov"> 2 : if (!dt_find_property(np, "ibm,dbob-id"))</span></a> +<a name="598"><span class="lineNum"> 598 </span> :<span class="lineCov"> 2 : dt_add_property_cells(np, "ibm,dbob-id",</span></a> +<a name="599"><span class="lineNum"> 599 </span> : : be32_to_cpu(cinfo->dbob_id));</a> +<a name="600"><span class="lineNum"> 600 </span> :<span class="lineCov"> 2 : dt_add_property_cells(np, "ibm,occ-functional-state",</span></a> +<a name="601"><span class="lineNum"> 601 </span> : : be32_to_cpu(cinfo->occ_state));</a> +<a name="602"><span class="lineNum"> 602 </span> : : }</a> +<a name="603"><span class="lineNum"> 603 </span> : : </a> +<a name="604"><span class="lineNum"> 604 </span> : : /* Add chip VPD */</a> +<a name="605"><span class="lineNum"> 605 </span> :<span class="lineCov"> 2 : vpd_node = dt_add_vpd_node(hdif, SPPCRD_IDATA_FRU_ID,</span></a> +<a name="606"><span class="lineNum"> 606 </span> : : SPPCRD_IDATA_KW_VPD);</a> +<a name="607"><span class="lineNum"> 607 </span> :<span class="lineCov"> 2 : if (vpd_node)</span></a> +<a name="608"><span class="lineNum"> 608 </span> :<span class="lineCov"> 2 : dt_add_property_cells(vpd_node, "ibm,chip-id",</span></a> +<a name="609"><span class="lineNum"> 609 </span> : : get_xscom_id(cinfo));</a> +<a name="610"><span class="lineNum"> 610 </span> : : </a> +<a name="611"><span class="lineNum"> 611 </span> :<span class="lineCov"> 2 : fru_id = HDIF_get_idata(hdif, SPPCRD_IDATA_FRU_ID, NULL);</span></a> +<a name="612"><span class="lineNum"> 612 </span> :<span class="lineCov"> 2 : if (fru_id)</span></a> +<a name="613"><span class="lineNum"> 613 </span> :<span class="lineCov"> 2 : slca_vpd_add_loc_code(np, be16_to_cpu(fru_id->slca_index));</span></a> <a name="614"><span class="lineNum"> 614 </span> : : </a> -<a name="615"><span class="lineNum"> 615 </span> :<span class="lineCov"> 64 : cinfo = HDIF_get_idata(hdif, SPPCRD_IDATA_CHIP_INFO, &csize);</span></a> -<a name="616"><span class="lineNum"> 616 </span> :<span class="lineCov"> 64 : if (!CHECK_SPPTR(cinfo)) {</span></a> -<a name="617"><span class="lineNum"> 617 </span> :<span class="lineNoCov"> 0 : prerror("XSCOM: Bad ChipID data %d\n", i);</span></a> -<a name="618"><span class="lineNum"> 618 </span> :<span class="lineCov"> 58 : continue;</span></a> -<a name="619"><span class="lineNum"> 619 </span> : : }</a> -<a name="620"><span class="lineNum"> 620 </span> : : </a> -<a name="621"><span class="lineNum"> 621 </span> :<span class="lineCov"> 64 : ve = be32_to_cpu(cinfo->verif_exist_flags) & CHIP_VERIFY_MASK;</span></a> -<a name="622"><span class="lineNum"> 622 </span> :<span class="lineCov"> 64 : ve >>= CHIP_VERIFY_SHIFT;</span></a> -<a name="623"><span class="lineNum"> 623 </span> :<span class="lineCov"> 64 : if (ve == CHIP_VERIFY_NOT_INSTALLED ||</span></a> -<a name="624"><span class="lineNum"> 624 </span> : : ve == CHIP_VERIFY_UNUSABLE)</a> -<a name="625"><span class="lineNum"> 625 </span> :<span class="lineCov"> 58 : continue;</span></a> -<a name="626"><span class="lineNum"> 626 </span> : : </a> -<a name="627"><span class="lineNum"> 627 </span> : : /* Create the XSCOM node */</a> -<a name="628"><span class="lineNum"> 628 </span> :<span class="lineCov"> 6 : np = add_xscom_node(xscom_base, cinfo);</span></a> -<a name="629"><span class="lineNum"> 629 </span> :<span class="lineCov"> 6 : if (!np)</span></a> -<a name="630"><span class="lineNum"> 630 </span> :<span class="lineNoCov"> 0 : continue;</span></a> -<a name="631"><span class="lineNum"> 631 </span> : : </a> -<a name="632"><span class="lineNum"> 632 </span> : : </a> -<a name="633"><span class="lineNum"> 633 </span> :<span class="lineCov"> 6 : dt_add_property_cells(np, DT_PRIVATE "sppcrd-index", i);</span></a> -<a name="634"><span class="lineNum"> 634 </span> : : </a> -<a name="635"><span class="lineNum"> 635 </span> :<span class="lineCov"> 6 : version = be16_to_cpu(hdif->version);</span></a> +<a name="615"><span class="lineNum"> 615 </span> : : /* Add module VPD on version A and later */</a> +<a name="616"><span class="lineNum"> 616 </span> :<span class="lineCov"> 2 : if (version >= 0x000a) {</span></a> +<a name="617"><span class="lineNum"> 617 </span> :<span class="lineCov"> 2 : vpd = HDIF_get_idata(hdif, SPPCRD_IDATA_MODULE_VPD,</span></a> +<a name="618"><span class="lineNum"> 618 </span> : : &vpd_sz);</a> +<a name="619"><span class="lineNum"> 619 </span> :<span class="lineCov"> 2 : if (CHECK_SPPTR(vpd)) {</span></a> +<a name="620"><span class="lineNum"> 620 </span> :<span class="lineCov"> 2 : dt_add_property(np, "ibm,module-vpd", vpd,</span></a> +<a name="621"><span class="lineNum"> 621 </span> : : vpd_sz);</a> +<a name="622"><span class="lineNum"> 622 </span> :<span class="lineCov"> 2 : vpd_data_parse(np, vpd, vpd_sz);</span></a> +<a name="623"><span class="lineNum"> 623 </span> :<span class="lineCov"> 2 : if (vpd_node)</span></a> +<a name="624"><span class="lineNum"> 624 </span> :<span class="lineCov"> 2 : dt_add_proc_vendor(vpd_node, vpd, vpd_sz);</span></a> +<a name="625"><span class="lineNum"> 625 </span> : : }</a> +<a name="626"><span class="lineNum"> 626 </span> : : }</a> +<a name="627"><span class="lineNum"> 627 </span> : : </a> +<a name="628"><span class="lineNum"> 628 </span> : : /*</a> +<a name="629"><span class="lineNum"> 629 </span> : : * Extract additional associativity information from</a> +<a name="630"><span class="lineNum"> 630 </span> : : * the core data. Pick one core on that chip</a> +<a name="631"><span class="lineNum"> 631 </span> : : */</a> +<a name="632"><span class="lineNum"> 632 </span> :<span class="lineCov"> 2 : add_xscom_add_pcia_assoc(np, be32_to_cpu(cinfo->proc_chip_id));</span></a> +<a name="633"><span class="lineNum"> 633 </span> : : </a> +<a name="634"><span class="lineNum"> 634 </span> : : /* Add PSI Host bridge */</a> +<a name="635"><span class="lineNum"> 635 </span> :<span class="lineCov"> 2 : add_psihb_node(np);</span></a> <a name="636"><span class="lineNum"> 636 </span> : : </a> -<a name="637"><span class="lineNum"> 637 </span> : : /* Version 0A has additional OCC related stuff */</a> -<a name="638"><span class="lineNum"> 638 </span> :<span class="lineCov"> 6 : if (version >= 0x000a) {</span></a> -<a name="639"><span class="lineNum"> 639 </span> :<span class="lineCov"> 6 : if (!dt_find_property(np, "ibm,dbob-id"))</span></a> -<a name="640"><span class="lineNum"> 640 </span> :<span class="lineCov"> 6 : dt_add_property_cells(np, "ibm,dbob-id",</span></a> -<a name="641"><span class="lineNum"> 641 </span> : : be32_to_cpu(cinfo->dbob_id));</a> -<a name="642"><span class="lineNum"> 642 </span> :<span class="lineCov"> 6 : dt_add_property_cells(np, "ibm,occ-functional-state",</span></a> -<a name="643"><span class="lineNum"> 643 </span> : : be32_to_cpu(cinfo->occ_state));</a> -<a name="644"><span class="lineNum"> 644 </span> : : }</a> -<a name="645"><span class="lineNum"> 645 </span> : : </a> -<a name="646"><span class="lineNum"> 646 </span> : : /* Add chip VPD */</a> -<a name="647"><span class="lineNum"> 647 </span> :<span class="lineCov"> 6 : vpd_node = dt_add_vpd_node(hdif, SPPCRD_IDATA_FRU_ID,</span></a> -<a name="648"><span class="lineNum"> 648 </span> : : SPPCRD_IDATA_KW_VPD);</a> -<a name="649"><span class="lineNum"> 649 </span> :<span class="lineCov"> 6 : if (vpd_node)</span></a> -<a name="650"><span class="lineNum"> 650 </span> :<span class="lineCov"> 6 : dt_add_property_cells(vpd_node, "ibm,chip-id",</span></a> -<a name="651"><span class="lineNum"> 651 </span> : : get_xscom_id(cinfo));</a> -<a name="652"><span class="lineNum"> 652 </span> : : </a> -<a name="653"><span class="lineNum"> 653 </span> :<span class="lineCov"> 6 : fru_id = HDIF_get_idata(hdif, SPPCRD_IDATA_FRU_ID, NULL);</span></a> -<a name="654"><span class="lineNum"> 654 </span> :<span class="lineCov"> 6 : if (fru_id)</span></a> -<a name="655"><span class="lineNum"> 655 </span> :<span class="lineCov"> 6 : slca_vpd_add_loc_code(np, be16_to_cpu(fru_id->slca_index));</span></a> -<a name="656"><span class="lineNum"> 656 </span> : : </a> -<a name="657"><span class="lineNum"> 657 </span> : : /* Add module VPD on version A and later */</a> -<a name="658"><span class="lineNum"> 658 </span> :<span class="lineCov"> 6 : if (version >= 0x000a) {</span></a> -<a name="659"><span class="lineNum"> 659 </span> :<span class="lineCov"> 6 : vpd = HDIF_get_idata(hdif, SPPCRD_IDATA_MODULE_VPD,</span></a> -<a name="660"><span class="lineNum"> 660 </span> : : &vpd_sz);</a> -<a name="661"><span class="lineNum"> 661 </span> :<span class="lineCov"> 6 : if (CHECK_SPPTR(vpd)) {</span></a> -<a name="662"><span class="lineNum"> 662 </span> :<span class="lineCov"> 6 : dt_add_property(np, "ibm,module-vpd", vpd,</span></a> -<a name="663"><span class="lineNum"> 663 </span> : : vpd_sz);</a> -<a name="664"><span class="lineNum"> 664 </span> :<span class="lineCov"> 6 : vpd_data_parse(np, vpd, vpd_sz);</span></a> -<a name="665"><span class="lineNum"> 665 </span> :<span class="lineCov"> 6 : if (vpd_node)</span></a> -<a name="666"><span class="lineNum"> 666 </span> :<span class="lineCov"> 6 : dt_add_proc_vendor(vpd_node, vpd, vpd_sz);</span></a> -<a name="667"><span class="lineNum"> 667 </span> : : }</a> -<a name="668"><span class="lineNum"> 668 </span> : : }</a> -<a name="669"><span class="lineNum"> 669 </span> : : </a> -<a name="670"><span class="lineNum"> 670 </span> : : /*</a> -<a name="671"><span class="lineNum"> 671 </span> : : * Extract additional associativity information from</a> -<a name="672"><span class="lineNum"> 672 </span> : : * the core data. Pick one core on that chip</a> -<a name="673"><span class="lineNum"> 673 </span> : : */</a> -<a name="674"><span class="lineNum"> 674 </span> :<span class="lineCov"> 6 : add_xscom_add_pcia_assoc(np, be32_to_cpu(cinfo->proc_chip_id));</span></a> -<a name="675"><span class="lineNum"> 675 </span> : : </a> -<a name="676"><span class="lineNum"> 676 </span> : : /* Add PSI Host bridge */</a> -<a name="677"><span class="lineNum"> 677 </span> :<span class="lineCov"> 6 : add_psihb_node(np);</span></a> -<a name="678"><span class="lineNum"> 678 </span> : : </a> -<a name="679"><span class="lineNum"> 679 </span> :<span class="lineCov"> 6 : if (proc_gen >= proc_gen_p9) {</span></a> -<a name="680"><span class="lineNum"> 680 </span> :<span class="lineNoCov"> 0 : add_xive_node(np);</span></a> -<a name="681"><span class="lineNum"> 681 </span> :<span class="lineNoCov"> 0 : parse_i2c_devs(hdif, SPPCRD_IDATA_HOST_I2C, np);</span></a> -<a name="682"><span class="lineNum"> 682 </span> :<span class="lineNoCov"> 0 : add_vas_node(np, i);</span></a> -<a name="683"><span class="lineNum"> 683 </span> :<span class="lineNoCov"> 0 : add_ecid_data(hdif, np);</span></a> +<a name="637"><span class="lineNum"> 637 </span> :<span class="lineCov"> 2 : if (proc_gen >= proc_gen_p9) {</span></a> +<a name="638"><span class="lineNum"> 638 </span> :<span class="lineNoCov"> 0 : add_xive_node(np);</span></a> +<a name="639"><span class="lineNum"> 639 </span> :<span class="lineNoCov"> 0 : parse_i2c_devs(hdif, SPPCRD_IDATA_HOST_I2C, np);</span></a> +<a name="640"><span class="lineNum"> 640 </span> :<span class="lineNoCov"> 0 : add_vas_node(np, i);</span></a> +<a name="641"><span class="lineNum"> 641 </span> :<span class="lineNoCov"> 0 : add_ecid_data(hdif, np);</span></a> +<a name="642"><span class="lineNum"> 642 </span> : : </a> +<a name="643"><span class="lineNum"> 643 </span> :<span class="lineNoCov"> 0 : if (be32_to_cpu(cinfo->verif_exist_flags) & CHIP_VERIFY_MASTER_PROC)</span></a> +<a name="644"><span class="lineNum"> 644 </span> :<span class="lineNoCov"> 0 : dt_add_property(np, "primary", NULL, 0);</span></a> +<a name="645"><span class="lineNum"> 645 </span> : : }</a> +<a name="646"><span class="lineNum"> 646 </span> : : </a> +<a name="647"><span class="lineNum"> 647 </span> : : /*</a> +<a name="648"><span class="lineNum"> 648 </span> : : * Add sw checkstop scom address (ibm,sw-checkstop-fir)</a> +<a name="649"><span class="lineNum"> 649 </span> : : *</a> +<a name="650"><span class="lineNum"> 650 </span> : : * The latest HDAT versions have sw checkstop scom address</a> +<a name="651"><span class="lineNum"> 651 </span> : : * info. But not sure from which version onwards (at least</a> +<a name="652"><span class="lineNum"> 652 </span> : : * HDAT spec do not mention that explicitly). Hence use the</a> +<a name="653"><span class="lineNum"> 653 </span> : : * sppcrd struct size returned by HDIF_get_idata to figure out</a> +<a name="654"><span class="lineNum"> 654 </span> : : * whether it contains sw checkstop scom address info. Also</a> +<a name="655"><span class="lineNum"> 655 </span> : : * check if sw_xstop_fir_scom address is non-zero.</a> +<a name="656"><span class="lineNum"> 656 </span> : : */</a> +<a name="657"><span class="lineNum"> 657 </span> :<span class="lineCov"> 2 : if ((csize >= (offsetof(struct sppcrd_chip_info,</span></a> +<a name="658"><span class="lineNum"> 658 </span> :<span class="lineNoCov"> 0 : sw_xstop_fir_bitpos) + 1)) &&</span></a> +<a name="659"><span class="lineNum"> 659 </span> :<span class="lineNoCov"> 0 : cinfo->sw_xstop_fir_scom) {</span></a> +<a name="660"><span class="lineNum"> 660 </span> :<span class="lineNoCov"> 0 : uint8_t fir_bit = cinfo->sw_xstop_fir_bitpos;</span></a> +<a name="661"><span class="lineNum"> 661 </span> : : </a> +<a name="662"><span class="lineNum"> 662 </span> :<span class="lineNoCov"> 0 : if (!dt_find_property(dt_root, "ibm,sw-checkstop-fir"))</span></a> +<a name="663"><span class="lineNum"> 663 </span> :<span class="lineNoCov"> 0 : dt_add_property_cells(dt_root,</span></a> +<a name="664"><span class="lineNum"> 664 </span> : : "ibm,sw-checkstop-fir",</a> +<a name="665"><span class="lineNum"> 665 </span> : : be32_to_cpu(cinfo->sw_xstop_fir_scom),</a> +<a name="666"><span class="lineNum"> 666 </span> : : fir_bit);</a> +<a name="667"><span class="lineNum"> 667 </span> : : }</a> +<a name="668"><span class="lineNum"> 668 </span> : : </a> +<a name="669"><span class="lineNum"> 669 </span> :<span class="lineCov"> 2 : if (proc_gen >= proc_gen_p10) {</span></a> +<a name="670"><span class="lineNum"> 670 </span> :<span class="lineNoCov"> 0 : uint8_t primary_loc = cinfo->primary_topology_loc;</span></a> +<a name="671"><span class="lineNum"> 671 </span> : : </a> +<a name="672"><span class="lineNum"> 672 </span> :<span class="lineNoCov"> 0 : if (primary_loc >= CHIP_MAX_TOPOLOGY_ENTRIES) {</span></a> +<a name="673"><span class="lineNum"> 673 </span> :<span class="lineNoCov"> 0 : prerror("XSCOM: Invalid primary topology index %d\n",</span></a> +<a name="674"><span class="lineNum"> 674 </span> : : primary_loc);</a> +<a name="675"><span class="lineNum"> 675 </span> :<span class="lineNoCov"> 0 : continue;</span></a> +<a name="676"><span class="lineNum"> 676 </span> : : }</a> +<a name="677"><span class="lineNum"> 677 </span> :<span class="lineNoCov"> 0 : dt_add_property_cells(np, "ibm,primary-topology-index",</span></a> +<a name="678"><span class="lineNum"> 678 </span> : : cinfo->topology_id_table[primary_loc]);</a> +<a name="679"><span class="lineNum"> 679 </span> : : }</a> +<a name="680"><span class="lineNum"> 680 </span> : : }</a> +<a name="681"><span class="lineNum"> 681 </span> : : </a> +<a name="682"><span class="lineNum"> 682 </span> :<span class="lineCov"> 1 : return i > 0;</span></a> +<a name="683"><span class="lineNum"> 683 </span> : : }</a> <a name="684"><span class="lineNum"> 684 </span> : : </a> -<a name="685"><span class="lineNum"> 685 </span> :<span class="lineNoCov"> 0 : if (be32_to_cpu(cinfo->verif_exist_flags) & CHIP_VERIFY_MASTER_PROC)</span></a> -<a name="686"><span class="lineNum"> 686 </span> :<span class="lineNoCov"> 0 : dt_add_property(np, "primary", NULL, 0);</span></a> -<a name="687"><span class="lineNum"> 687 </span> : : }</a> -<a name="688"><span class="lineNum"> 688 </span> : : </a> -<a name="689"><span class="lineNum"> 689 </span> : : /*</a> -<a name="690"><span class="lineNum"> 690 </span> : : * Add sw checkstop scom address (ibm,sw-checkstop-fir)</a> -<a name="691"><span class="lineNum"> 691 </span> : : *</a> -<a name="692"><span class="lineNum"> 692 </span> : : * The latest HDAT versions have sw checkstop scom address</a> -<a name="693"><span class="lineNum"> 693 </span> : : * info. But not sure from which version onwards (at least</a> -<a name="694"><span class="lineNum"> 694 </span> : : * HDAT spec do not mention that explicitly). Hence use the</a> -<a name="695"><span class="lineNum"> 695 </span> : : * sppcrd struct size returned by HDIF_get_idata to figure out</a> -<a name="696"><span class="lineNum"> 696 </span> : : * whether it contains sw checkstop scom address info. Also</a> -<a name="697"><span class="lineNum"> 697 </span> : : * check if sw_xstop_fir_scom address is non-zero.</a> -<a name="698"><span class="lineNum"> 698 </span> : : */</a> -<a name="699"><span class="lineNum"> 699 </span> :<span class="lineCov"> 6 : if ((csize >= (offsetof(struct sppcrd_chip_info,</span></a> -<a name="700"><span class="lineNum"> 700 </span> :<span class="lineNoCov"> 0 : sw_xstop_fir_bitpos) + 1)) &&</span></a> -<a name="701"><span class="lineNum"> 701 </span> :<span class="lineNoCov"> 0 : cinfo->sw_xstop_fir_scom) {</span></a> -<a name="702"><span class="lineNum"> 702 </span> :<span class="lineNoCov"> 0 : uint8_t fir_bit = cinfo->sw_xstop_fir_bitpos;</span></a> +<a name="685"><span class="lineNum"> 685 </span> :<span class="lineCov"> 1 : static void add_xscom(void)</span></a> +<a name="686"><span class="lineNum"> 686 </span> : : {</a> +<a name="687"><span class="lineNum"> 687 </span> : : const void *ms_vpd;</a> +<a name="688"><span class="lineNum"> 688 </span> : : const struct msvpd_pmover_bsr_synchro *pmbs;</a> +<a name="689"><span class="lineNum"> 689 </span> : : unsigned int size;</a> +<a name="690"><span class="lineNum"> 690 </span> : : uint64_t xscom_base;</a> +<a name="691"><span class="lineNum"> 691 </span> : : </a> +<a name="692"><span class="lineNum"> 692 </span> :<span class="lineCov"> 1 : ms_vpd = get_hdif(&spiras->ntuples.ms_vpd, MSVPD_HDIF_SIG);</span></a> +<a name="693"><span class="lineNum"> 693 </span> :<span class="lineCov"> 1 : if (!ms_vpd) {</span></a> +<a name="694"><span class="lineNum"> 694 </span> :<span class="lineNoCov"> 0 : prerror("XSCOM: Can't find MS VPD\n");</span></a> +<a name="695"><span class="lineNum"> 695 </span> :<span class="lineCov"> 1 : return;</span></a> +<a name="696"><span class="lineNum"> 696 </span> : : }</a> +<a name="697"><span class="lineNum"> 697 </span> : : </a> +<a name="698"><span class="lineNum"> 698 </span> :<span class="lineCov"> 1 : pmbs = HDIF_get_idata(ms_vpd, MSVPD_IDATA_PMOVER_SYNCHRO, &size);</span></a> +<a name="699"><span class="lineNum"> 699 </span> :<span class="lineCov"> 1 : if (!CHECK_SPPTR(pmbs) || size < sizeof(*pmbs)) {</span></a> +<a name="700"><span class="lineNum"> 700 </span> :<span class="lineNoCov"> 0 : prerror("XSCOM: absent or bad PMBS size %u @ %p\n", size, pmbs);</span></a> +<a name="701"><span class="lineNum"> 701 </span> :<span class="lineNoCov"> 0 : return;</span></a> +<a name="702"><span class="lineNum"> 702 </span> : : }</a> <a name="703"><span class="lineNum"> 703 </span> : : </a> -<a name="704"><span class="lineNum"> 704 </span> :<span class="lineNoCov"> 0 : if (!dt_find_property(dt_root, "ibm,sw-checkstop-fir"))</span></a> -<a name="705"><span class="lineNum"> 705 </span> :<span class="lineNoCov"> 0 : dt_add_property_cells(dt_root,</span></a> -<a name="706"><span class="lineNum"> 706 </span> : : "ibm,sw-checkstop-fir",</a> -<a name="707"><span class="lineNum"> 707 </span> : : be32_to_cpu(cinfo->sw_xstop_fir_scom),</a> -<a name="708"><span class="lineNum"> 708 </span> : : fir_bit);</a> -<a name="709"><span class="lineNum"> 709 </span> : : }</a> +<a name="704"><span class="lineNum"> 704 </span> :<span class="lineCov"> 1 : if (!(be32_to_cpu(pmbs->flags) & MSVPD_PMS_FLAG_XSCOMBASE_VALID)) {</span></a> +<a name="705"><span class="lineNum"> 705 </span> :<span class="lineNoCov"> 0 : prerror("XSCOM: No XSCOM base in PMBS, using default\n");</span></a> +<a name="706"><span class="lineNum"> 706 </span> :<span class="lineNoCov"> 0 : return;</span></a> +<a name="707"><span class="lineNum"> 707 </span> : : }</a> +<a name="708"><span class="lineNum"> 708 </span> : : </a> +<a name="709"><span class="lineNum"> 709 </span> :<span class="lineCov"> 1 : xscom_base = be64_to_cpu(pmbs->xscom_addr);</span></a> <a name="710"><span class="lineNum"> 710 </span> : : </a> -<a name="711"><span class="lineNum"> 711 </span> :<span class="lineCov"> 6 : if (proc_gen >= proc_gen_p10) {</span></a> -<a name="712"><span class="lineNum"> 712 </span> :<span class="lineNoCov"> 0 : uint8_t primary_loc = cinfo->primary_topology_loc;</span></a> +<a name="711"><span class="lineNum"> 711 </span> : : /* Get rid of the top bits */</a> +<a name="712"><span class="lineNum"> 712 </span> :<span class="lineCov"> 1 : xscom_base = cleanup_addr(xscom_base);</span></a> <a name="713"><span class="lineNum"> 713 </span> : : </a> -<a name="714"><span class="lineNum"> 714 </span> :<span class="lineNoCov"> 0 : if (primary_loc >= CHIP_MAX_TOPOLOGY_ENTRIES) {</span></a> -<a name="715"><span class="lineNum"> 715 </span> :<span class="lineNoCov"> 0 : prerror("XSCOM: Invalid primary topology index %d\n",</span></a> -<a name="716"><span class="lineNum"> 716 </span> : : primary_loc);</a> -<a name="717"><span class="lineNum"> 717 </span> :<span class="lineNoCov"> 0 : continue;</span></a> -<a name="718"><span class="lineNum"> 718 </span> : : }</a> -<a name="719"><span class="lineNum"> 719 </span> :<span class="lineNoCov"> 0 : dt_add_property_cells(np, "ibm,primary-topology-index",</span></a> -<a name="720"><span class="lineNum"> 720 </span> : : cinfo->topology_id_table[primary_loc]);</a> -<a name="721"><span class="lineNum"> 721 </span> : : }</a> -<a name="722"><span class="lineNum"> 722 </span> : : }</a> -<a name="723"><span class="lineNum"> 723 </span> : : </a> -<a name="724"><span class="lineNum"> 724 </span> :<span class="lineCov"> 2 : return i > 0;</span></a> -<a name="725"><span class="lineNum"> 725 </span> : : }</a> -<a name="726"><span class="lineNum"> 726 </span> : : </a> -<a name="727"><span class="lineNum"> 727 </span> :<span class="lineCov"> 2 : static void add_xscom(void)</span></a> -<a name="728"><span class="lineNum"> 728 </span> : : {</a> -<a name="729"><span class="lineNum"> 729 </span> : : const void *ms_vpd;</a> -<a name="730"><span class="lineNum"> 730 </span> : : const struct msvpd_pmover_bsr_synchro *pmbs;</a> -<a name="731"><span class="lineNum"> 731 </span> : : unsigned int size;</a> -<a name="732"><span class="lineNum"> 732 </span> : : uint64_t xscom_base;</a> -<a name="733"><span class="lineNum"> 733 </span> : : </a> -<a name="734"><span class="lineNum"> 734 </span> :<span class="lineCov"> 2 : ms_vpd = get_hdif(&spira.ntuples.ms_vpd, MSVPD_HDIF_SIG);</span></a> -<a name="735"><span class="lineNum"> 735 </span> :<span class="lineCov"> 2 : if (!ms_vpd) {</span></a> -<a name="736"><span class="lineNum"> 736 </span> :<span class="lineNoCov"> 0 : prerror("XSCOM: Can't find MS VPD\n");</span></a> -<a name="737"><span class="lineNum"> 737 </span> :<span class="lineCov"> 2 : return;</span></a> -<a name="738"><span class="lineNum"> 738 </span> : : }</a> -<a name="739"><span class="lineNum"> 739 </span> : : </a> -<a name="740"><span class="lineNum"> 740 </span> :<span class="lineCov"> 2 : pmbs = HDIF_get_idata(ms_vpd, MSVPD_IDATA_PMOVER_SYNCHRO, &size);</span></a> -<a name="741"><span class="lineNum"> 741 </span> :<span class="lineCov"> 2 : if (!CHECK_SPPTR(pmbs) || size < sizeof(*pmbs)) {</span></a> -<a name="742"><span class="lineNum"> 742 </span> :<span class="lineNoCov"> 0 : prerror("XSCOM: absent or bad PMBS size %u @ %p\n", size, pmbs);</span></a> -<a name="743"><span class="lineNum"> 743 </span> :<span class="lineNoCov"> 0 : return;</span></a> -<a name="744"><span class="lineNum"> 744 </span> : : }</a> -<a name="745"><span class="lineNum"> 745 </span> : : </a> -<a name="746"><span class="lineNum"> 746 </span> :<span class="lineCov"> 2 : if (!(be32_to_cpu(pmbs->flags) & MSVPD_PMS_FLAG_XSCOMBASE_VALID)) {</span></a> -<a name="747"><span class="lineNum"> 747 </span> :<span class="lineNoCov"> 0 : prerror("XSCOM: No XSCOM base in PMBS, using default\n");</span></a> -<a name="748"><span class="lineNum"> 748 </span> :<span class="lineNoCov"> 0 : return;</span></a> -<a name="749"><span class="lineNum"> 749 </span> : : }</a> -<a name="750"><span class="lineNum"> 750 </span> : : </a> -<a name="751"><span class="lineNum"> 751 </span> :<span class="lineCov"> 2 : xscom_base = be64_to_cpu(pmbs->xscom_addr);</span></a> -<a name="752"><span class="lineNum"> 752 </span> : : </a> -<a name="753"><span class="lineNum"> 753 </span> : : /* Get rid of the top bits */</a> -<a name="754"><span class="lineNum"> 754 </span> :<span class="lineCov"> 2 : xscom_base = cleanup_addr(xscom_base);</span></a> +<a name="714"><span class="lineNum"> 714 </span> : : /* First, try the new proc_chip ntuples for chip data */</a> +<a name="715"><span class="lineNum"> 715 </span> :<span class="lineCov"> 1 : if (add_xscom_sppcrd(xscom_base))</span></a> +<a name="716"><span class="lineNum"> 716 </span> :<span class="lineCov"> 1 : return;</span></a> +<a name="717"><span class="lineNum"> 717 </span> : : }</a> +<a name="718"><span class="lineNum"> 718 </span> : : </a> +<a name="719"><span class="lineNum"> 719 </span> :<span class="lineCov"> 2 : static void add_chiptod_node(unsigned int chip_id, int flags)</span></a> +<a name="720"><span class="lineNum"> 720 </span> : : {</a> +<a name="721"><span class="lineNum"> 721 </span> : : struct dt_node *node, *xscom_node;</a> +<a name="722"><span class="lineNum"> 722 </span> : : const char *compat_str;</a> +<a name="723"><span class="lineNum"> 723 </span> : : uint32_t addr, len;</a> +<a name="724"><span class="lineNum"> 724 </span> : : </a> +<a name="725"><span class="lineNum"> 725 </span> :<span class="lineCov"> 2 : if ((flags & CHIPTOD_ID_FLAGS_STATUS_MASK) !=</span></a> +<a name="726"><span class="lineNum"> 726 </span> : : CHIPTOD_ID_FLAGS_STATUS_OK)</a> +<a name="727"><span class="lineNum"> 727 </span> :<span class="lineNoCov"> 0 : return;</span></a> +<a name="728"><span class="lineNum"> 728 </span> : : </a> +<a name="729"><span class="lineNum"> 729 </span> :<span class="lineCov"> 2 : xscom_node = find_xscom_for_chip(chip_id);</span></a> +<a name="730"><span class="lineNum"> 730 </span> :<span class="lineCov"> 2 : if (!xscom_node) {</span></a> +<a name="731"><span class="lineNum"> 731 </span> :<span class="lineNoCov"> 0 : prerror("CHIPTOD: No xscom for chiptod %d?\n", chip_id);</span></a> +<a name="732"><span class="lineNum"> 732 </span> :<span class="lineNoCov"> 0 : return;</span></a> +<a name="733"><span class="lineNum"> 733 </span> : : }</a> +<a name="734"><span class="lineNum"> 734 </span> : : </a> +<a name="735"><span class="lineNum"> 735 </span> :<span class="lineCov"> 2 : addr = 0x40000;</span></a> +<a name="736"><span class="lineNum"> 736 </span> :<span class="lineCov"> 2 : len = 0x34;</span></a> +<a name="737"><span class="lineNum"> 737 </span> : : </a> +<a name="738"><span class="lineNum"> 738 </span> :<span class="lineCov"> 2 : switch(proc_gen) {</span></a> +<a name="739"><span class="lineNum"> 739 </span> :<span class="lineCov"> 2 : case proc_gen_p8:</span></a> +<a name="740"><span class="lineNum"> 740 </span> :<span class="lineCov"> 2 : compat_str = "ibm,power8-chiptod";</span></a> +<a name="741"><span class="lineNum"> 741 </span> :<span class="lineCov"> 2 : break;</span></a> +<a name="742"><span class="lineNum"> 742 </span> :<span class="lineNoCov"> 0 : case proc_gen_p9:</span></a> +<a name="743"><span class="lineNum"> 743 </span> :<span class="lineNoCov"> 0 : compat_str = "ibm,power9-chiptod";</span></a> +<a name="744"><span class="lineNum"> 744 </span> :<span class="lineNoCov"> 0 : break;</span></a> +<a name="745"><span class="lineNum"> 745 </span> :<span class="lineNoCov"> 0 : case proc_gen_p10:</span></a> +<a name="746"><span class="lineNum"> 746 </span> :<span class="lineNoCov"> 0 : compat_str = "ibm,power10-chiptod";</span></a> +<a name="747"><span class="lineNum"> 747 </span> :<span class="lineNoCov"> 0 : break;</span></a> +<a name="748"><span class="lineNum"> 748 </span> :<span class="lineNoCov"> 0 : default:</span></a> +<a name="749"><span class="lineNum"> 749 </span> :<span class="lineNoCov"> 0 : return;</span></a> +<a name="750"><span class="lineNum"> 750 </span> : : }</a> +<a name="751"><span class="lineNum"> 751 </span> : : </a> +<a name="752"><span class="lineNum"> 752 </span> :<span class="lineCov"> 2 : prlog(PR_DEBUG, "CHIPTOD: Found on chip 0x%x %s\n", chip_id,</span></a> +<a name="753"><span class="lineNum"> 753 </span> : : (flags & CHIPTOD_ID_FLAGS_PRIMARY) ? "[primary]" :</a> +<a name="754"><span class="lineNum"> 754 </span> : : ((flags & CHIPTOD_ID_FLAGS_SECONDARY) ? "[secondary]" : ""));</a> <a name="755"><span class="lineNum"> 755 </span> : : </a> -<a name="756"><span class="lineNum"> 756 </span> : : /* First, try the new proc_chip ntuples for chip data */</a> -<a name="757"><span class="lineNum"> 757 </span> :<span class="lineCov"> 2 : if (add_xscom_sppcrd(xscom_base))</span></a> -<a name="758"><span class="lineNum"> 758 </span> :<span class="lineCov"> 2 : return;</span></a> -<a name="759"><span class="lineNum"> 759 </span> : : }</a> -<a name="760"><span class="lineNum"> 760 </span> : : </a> -<a name="761"><span class="lineNum"> 761 </span> :<span class="lineCov"> 6 : static void add_chiptod_node(unsigned int chip_id, int flags)</span></a> -<a name="762"><span class="lineNum"> 762 </span> : : {</a> -<a name="763"><span class="lineNum"> 763 </span> : : struct dt_node *node, *xscom_node;</a> -<a name="764"><span class="lineNum"> 764 </span> : : const char *compat_str;</a> -<a name="765"><span class="lineNum"> 765 </span> : : uint32_t addr, len;</a> -<a name="766"><span class="lineNum"> 766 </span> : : </a> -<a name="767"><span class="lineNum"> 767 </span> :<span class="lineCov"> 6 : if ((flags & CHIPTOD_ID_FLAGS_STATUS_MASK) !=</span></a> -<a name="768"><span class="lineNum"> 768 </span> : : CHIPTOD_ID_FLAGS_STATUS_OK)</a> -<a name="769"><span class="lineNum"> 769 </span> :<span class="lineNoCov"> 0 : return;</span></a> -<a name="770"><span class="lineNum"> 770 </span> : : </a> -<a name="771"><span class="lineNum"> 771 </span> :<span class="lineCov"> 6 : xscom_node = find_xscom_for_chip(chip_id);</span></a> -<a name="772"><span class="lineNum"> 772 </span> :<span class="lineCov"> 6 : if (!xscom_node) {</span></a> -<a name="773"><span class="lineNum"> 773 </span> :<span class="lineNoCov"> 0 : prerror("CHIPTOD: No xscom for chiptod %d?\n", chip_id);</span></a> -<a name="774"><span class="lineNum"> 774 </span> :<span class="lineNoCov"> 0 : return;</span></a> -<a name="775"><span class="lineNum"> 775 </span> : : }</a> -<a name="776"><span class="lineNum"> 776 </span> : : </a> -<a name="777"><span class="lineNum"> 777 </span> :<span class="lineCov"> 6 : addr = 0x40000;</span></a> -<a name="778"><span class="lineNum"> 778 </span> :<span class="lineCov"> 6 : len = 0x34;</span></a> -<a name="779"><span class="lineNum"> 779 </span> : : </a> -<a name="780"><span class="lineNum"> 780 </span> :<span class="lineCov"> 6 : switch(proc_gen) {</span></a> -<a name="781"><span class="lineNum"> 781 </span> :<span class="lineCov"> 6 : case proc_gen_p8:</span></a> -<a name="782"><span class="lineNum"> 782 </span> :<span class="lineCov"> 6 : compat_str = "ibm,power8-chiptod";</span></a> -<a name="783"><span class="lineNum"> 783 </span> :<span class="lineCov"> 6 : break;</span></a> -<a name="784"><span class="lineNum"> 784 </span> :<span class="lineNoCov"> 0 : case proc_gen_p9:</span></a> -<a name="785"><span class="lineNum"> 785 </span> :<span class="lineNoCov"> 0 : compat_str = "ibm,power9-chiptod";</span></a> -<a name="786"><span class="lineNum"> 786 </span> :<span class="lineNoCov"> 0 : break;</span></a> -<a name="787"><span class="lineNum"> 787 </span> :<span class="lineNoCov"> 0 : case proc_gen_p10:</span></a> -<a name="788"><span class="lineNum"> 788 </span> :<span class="lineNoCov"> 0 : compat_str = "ibm,power10-chiptod";</span></a> -<a name="789"><span class="lineNum"> 789 </span> :<span class="lineNoCov"> 0 : break;</span></a> -<a name="790"><span class="lineNum"> 790 </span> :<span class="lineNoCov"> 0 : default:</span></a> -<a name="791"><span class="lineNum"> 791 </span> :<span class="lineNoCov"> 0 : return;</span></a> -<a name="792"><span class="lineNum"> 792 </span> : : }</a> -<a name="793"><span class="lineNum"> 793 </span> : : </a> -<a name="794"><span class="lineNum"> 794 </span> :<span class="lineCov"> 6 : prlog(PR_DEBUG, "CHIPTOD: Found on chip 0x%x %s\n", chip_id,</span></a> -<a name="795"><span class="lineNum"> 795 </span> : : (flags & CHIPTOD_ID_FLAGS_PRIMARY) ? "[primary]" :</a> -<a name="796"><span class="lineNum"> 796 </span> : : ((flags & CHIPTOD_ID_FLAGS_SECONDARY) ? "[secondary]" : ""));</a> -<a name="797"><span class="lineNum"> 797 </span> : : </a> -<a name="798"><span class="lineNum"> 798 </span> :<span class="lineCov"> 6 : node = dt_new_addr(xscom_node, "chiptod", addr);</span></a> -<a name="799"><span class="lineNum"> 799 </span> :<span class="lineCov"> 6 : if (!node)</span></a> -<a name="800"><span class="lineNum"> 800 </span> :<span class="lineNoCov"> 0 : return;</span></a> -<a name="801"><span class="lineNum"> 801 </span> : : </a> -<a name="802"><span class="lineNum"> 802 </span> :<span class="lineCov"> 6 : dt_add_property_cells(node, "reg", addr, len);</span></a> -<a name="803"><span class="lineNum"> 803 </span> :<span class="lineCov"> 6 : dt_add_property_strings(node, "compatible", "ibm,power-chiptod",</span></a> -<a name="804"><span class="lineNum"> 804 </span> : : compat_str);</a> -<a name="805"><span class="lineNum"> 805 </span> : : </a> -<a name="806"><span class="lineNum"> 806 </span> :<span class="lineCov"> 6 : if (flags & CHIPTOD_ID_FLAGS_PRIMARY)</span></a> -<a name="807"><span class="lineNum"> 807 </span> :<span class="lineCov"> 2 : dt_add_property(node, "primary", NULL, 0);</span></a> -<a name="808"><span class="lineNum"> 808 </span> :<span class="lineCov"> 6 : if (flags & CHIPTOD_ID_FLAGS_SECONDARY)</span></a> -<a name="809"><span class="lineNum"> 809 </span> :<span class="lineCov"> 2 : dt_add_property(node, "secondary", NULL, 0);</span></a> -<a name="810"><span class="lineNum"> 810 </span> : : }</a> -<a name="811"><span class="lineNum"> 811 </span> : : </a> -<a name="812"><span class="lineNum"> 812 </span> :<span class="lineCov"> 2 : static bool add_chiptod_old(void)</span></a> -<a name="813"><span class="lineNum"> 813 </span> : : {</a> -<a name="814"><span class="lineNum"> 814 </span> : : const void *hdif;</a> -<a name="815"><span class="lineNum"> 815 </span> : : unsigned int i;</a> -<a name="816"><span class="lineNum"> 816 </span> :<span class="lineCov"> 2 : bool found = false;</span></a> -<a name="817"><span class="lineNum"> 817 </span> : : </a> -<a name="818"><span class="lineNum"> 818 </span> : : /*</a> -<a name="819"><span class="lineNum"> 819 </span> : : * Locate chiptod ID structures in SPIRA</a> -<a name="820"><span class="lineNum"> 820 </span> : : */</a> -<a name="821"><span class="lineNum"> 821 </span> :<span class="lineCov"> 2 : if (!get_hdif(&spira.ntuples.chip_tod, "TOD "))</span></a> -<a name="822"><span class="lineNum"> 822 </span> :<span class="lineCov"> 2 : return found;</span></a> -<a name="823"><span class="lineNum"> 823 </span> : : </a> -<a name="824"><span class="lineNum"> 824 </span> :<span class="lineNoCov"> 0 : for_each_ntuple_idx(&spira.ntuples.chip_tod, hdif, i, "TOD ") {</span></a> -<a name="825"><span class="lineNum"> 825 </span> : : const struct chiptod_chipid *id;</a> -<a name="826"><span class="lineNum"> 826 </span> : : </a> -<a name="827"><span class="lineNum"> 827 </span> :<span class="lineNoCov"> 0 : id = HDIF_get_idata(hdif, CHIPTOD_IDATA_CHIPID, NULL);</span></a> -<a name="828"><span class="lineNum"> 828 </span> :<span class="lineNoCov"> 0 : if (!CHECK_SPPTR(id)) {</span></a> -<a name="829"><span class="lineNum"> 829 </span> :<span class="lineNoCov"> 0 : prerror("CHIPTOD: Bad ChipID data %d\n", i);</span></a> -<a name="830"><span class="lineNum"> 830 </span> :<span class="lineNoCov"> 0 : continue;</span></a> -<a name="831"><span class="lineNum"> 831 </span> : : }</a> +<a name="756"><span class="lineNum"> 756 </span> :<span class="lineCov"> 2 : node = dt_new_addr(xscom_node, "chiptod", addr);</span></a> +<a name="757"><span class="lineNum"> 757 </span> :<span class="lineCov"> 2 : if (!node)</span></a> +<a name="758"><span class="lineNum"> 758 </span> :<span class="lineNoCov"> 0 : return;</span></a> +<a name="759"><span class="lineNum"> 759 </span> : : </a> +<a name="760"><span class="lineNum"> 760 </span> :<span class="lineCov"> 2 : dt_add_property_cells(node, "reg", addr, len);</span></a> +<a name="761"><span class="lineNum"> 761 </span> :<span class="lineCov"> 2 : dt_add_property_strings(node, "compatible", "ibm,power-chiptod",</span></a> +<a name="762"><span class="lineNum"> 762 </span> : : compat_str);</a> +<a name="763"><span class="lineNum"> 763 </span> : : </a> +<a name="764"><span class="lineNum"> 764 </span> :<span class="lineCov"> 2 : if (flags & CHIPTOD_ID_FLAGS_PRIMARY)</span></a> +<a name="765"><span class="lineNum"> 765 </span> :<span class="lineCov"> 1 : dt_add_property(node, "primary", NULL, 0);</span></a> +<a name="766"><span class="lineNum"> 766 </span> :<span class="lineCov"> 2 : if (flags & CHIPTOD_ID_FLAGS_SECONDARY)</span></a> +<a name="767"><span class="lineNum"> 767 </span> :<span class="lineCov"> 1 : dt_add_property(node, "secondary", NULL, 0);</span></a> +<a name="768"><span class="lineNum"> 768 </span> : : }</a> +<a name="769"><span class="lineNum"> 769 </span> : : </a> +<a name="770"><span class="lineNum"> 770 </span> :<span class="lineCov"> 1 : static bool add_chiptod(void)</span></a> +<a name="771"><span class="lineNum"> 771 </span> : : {</a> +<a name="772"><span class="lineNum"> 772 </span> : : const void *hdif;</a> +<a name="773"><span class="lineNum"> 773 </span> : : unsigned int i;</a> +<a name="774"><span class="lineNum"> 774 </span> :<span class="lineCov"> 1 : bool found = false;</span></a> +<a name="775"><span class="lineNum"> 775 </span> : : </a> +<a name="776"><span class="lineNum"> 776 </span> : : /*</a> +<a name="777"><span class="lineNum"> 777 </span> : : * Locate Proc Chip ID structures in SPIRA</a> +<a name="778"><span class="lineNum"> 778 </span> : : */</a> +<a name="779"><span class="lineNum"> 779 </span> :<span class="lineCov"> 1 : if (!get_hdif(&spiras->ntuples.proc_chip, SPPCRD_HDIF_SIG))</span></a> +<a name="780"><span class="lineNum"> 780 </span> :<span class="lineNoCov"> 0 : return found;</span></a> +<a name="781"><span class="lineNum"> 781 </span> : : </a> +<a name="782"><span class="lineNum"> 782 </span> :<span class="lineCov"> 33 : for_each_ntuple_idx(&spiras->ntuples.proc_chip, hdif, i,</span></a> +<a name="783"><span class="lineNum"> 783 </span> : : SPPCRD_HDIF_SIG) {</a> +<a name="784"><span class="lineNum"> 784 </span> : : const struct sppcrd_chip_info *cinfo;</a> +<a name="785"><span class="lineNum"> 785 </span> : : const struct sppcrd_chip_tod *tinfo;</a> +<a name="786"><span class="lineNum"> 786 </span> : : unsigned int size;</a> +<a name="787"><span class="lineNum"> 787 </span> : : u32 ve, flags;</a> +<a name="788"><span class="lineNum"> 788 </span> : : </a> +<a name="789"><span class="lineNum"> 789 </span> :<span class="lineCov"> 32 : cinfo = HDIF_get_idata(hdif, SPPCRD_IDATA_CHIP_INFO, NULL);</span></a> +<a name="790"><span class="lineNum"> 790 </span> :<span class="lineCov"> 32 : if (!CHECK_SPPTR(cinfo)) {</span></a> +<a name="791"><span class="lineNum"> 791 </span> :<span class="lineNoCov"> 0 : prerror("CHIPTOD: Bad ChipID data %d\n", i);</span></a> +<a name="792"><span class="lineNum"> 792 </span> :<span class="lineCov"> 30 : continue;</span></a> +<a name="793"><span class="lineNum"> 793 </span> : : }</a> +<a name="794"><span class="lineNum"> 794 </span> : : </a> +<a name="795"><span class="lineNum"> 795 </span> :<span class="lineCov"> 32 : ve = be32_to_cpu(cinfo->verif_exist_flags) & CHIP_VERIFY_MASK;</span></a> +<a name="796"><span class="lineNum"> 796 </span> :<span class="lineCov"> 32 : ve >>= CHIP_VERIFY_SHIFT;</span></a> +<a name="797"><span class="lineNum"> 797 </span> :<span class="lineCov"> 32 : if (ve == CHIP_VERIFY_NOT_INSTALLED ||</span></a> +<a name="798"><span class="lineNum"> 798 </span> : : ve == CHIP_VERIFY_UNUSABLE)</a> +<a name="799"><span class="lineNum"> 799 </span> :<span class="lineCov"> 30 : continue;</span></a> +<a name="800"><span class="lineNum"> 800 </span> : : </a> +<a name="801"><span class="lineNum"> 801 </span> :<span class="lineCov"> 2 : tinfo = HDIF_get_idata(hdif, SPPCRD_IDATA_CHIP_TOD, &size);</span></a> +<a name="802"><span class="lineNum"> 802 </span> :<span class="lineCov"> 2 : if (!CHECK_SPPTR(tinfo)) {</span></a> +<a name="803"><span class="lineNum"> 803 </span> :<span class="lineNoCov"> 0 : prerror("CHIPTOD: Bad TOD data %d\n", i);</span></a> +<a name="804"><span class="lineNum"> 804 </span> :<span class="lineNoCov"> 0 : continue;</span></a> +<a name="805"><span class="lineNum"> 805 </span> : : }</a> +<a name="806"><span class="lineNum"> 806 </span> : : </a> +<a name="807"><span class="lineNum"> 807 </span> :<span class="lineCov"> 2 : flags = be32_to_cpu(tinfo->flags);</span></a> +<a name="808"><span class="lineNum"> 808 </span> : : </a> +<a name="809"><span class="lineNum"> 809 </span> : : /* The FSP may strip the chiptod info from HDAT; if we find</a> +<a name="810"><span class="lineNum"> 810 </span> : : * a zero-ed out entry, assume that the chiptod is</a> +<a name="811"><span class="lineNum"> 811 </span> : : * present, but we don't have any primary/secondary info. In</a> +<a name="812"><span class="lineNum"> 812 </span> : : * this case, pick chip zero as the master.</a> +<a name="813"><span class="lineNum"> 813 </span> : : */</a> +<a name="814"><span class="lineNum"> 814 </span> :<span class="lineCov"> 2 : if (!size) {</span></a> +<a name="815"><span class="lineNum"> 815 </span> :<span class="lineNoCov"> 0 : flags = CHIPTOD_ID_FLAGS_STATUS_OK;</span></a> +<a name="816"><span class="lineNum"> 816 </span> :<span class="lineNoCov"> 0 : if (be32_to_cpu(cinfo->xscom_id) == 0x0)</span></a> +<a name="817"><span class="lineNum"> 817 </span> :<span class="lineNoCov"> 0 : flags |= CHIPTOD_ID_FLAGS_PRIMARY;</span></a> +<a name="818"><span class="lineNum"> 818 </span> : : }</a> +<a name="819"><span class="lineNum"> 819 </span> : : </a> +<a name="820"><span class="lineNum"> 820 </span> :<span class="lineCov"> 2 : add_chiptod_node(get_xscom_id(cinfo), flags);</span></a> +<a name="821"><span class="lineNum"> 821 </span> :<span class="lineCov"> 2 : found = true;</span></a> +<a name="822"><span class="lineNum"> 822 </span> : : }</a> +<a name="823"><span class="lineNum"> 823 </span> :<span class="lineCov"> 1 : return found;</span></a> +<a name="824"><span class="lineNum"> 824 </span> : : }</a> +<a name="825"><span class="lineNum"> 825 </span> : : </a> +<a name="826"><span class="lineNum"> 826 </span> :<span class="lineCov"> 2 : static void add_nx_node(u32 gcid)</span></a> +<a name="827"><span class="lineNum"> 827 </span> : : {</a> +<a name="828"><span class="lineNum"> 828 </span> : : struct dt_node *nx;</a> +<a name="829"><span class="lineNum"> 829 </span> : : u32 addr;</a> +<a name="830"><span class="lineNum"> 830 </span> : : u32 size;</a> +<a name="831"><span class="lineNum"> 831 </span> : : struct dt_node *xscom;</a> <a name="832"><span class="lineNum"> 832 </span> : : </a> -<a name="833"><span class="lineNum"> 833 </span> :<span class="lineNoCov"> 0 : add_chiptod_node(pcid_to_chip_id(be32_to_cpu(id->chip_id)),</span></a> -<a name="834"><span class="lineNum"> 834 </span> :<span class="lineNoCov"> 0 : be32_to_cpu(id->flags));</span></a> -<a name="835"><span class="lineNum"> 835 </span> :<span class="lineNoCov"> 0 : found = true;</span></a> -<a name="836"><span class="lineNum"> 836 </span> : : }</a> -<a name="837"><span class="lineNum"> 837 </span> :<span class="lineNoCov"> 0 : return found;</span></a> -<a name="838"><span class="lineNum"> 838 </span> : : }</a> -<a name="839"><span class="lineNum"> 839 </span> : : </a> -<a name="840"><span class="lineNum"> 840 </span> :<span class="lineCov"> 2 : static bool add_chiptod_new(void)</span></a> -<a name="841"><span class="lineNum"> 841 </span> : : {</a> -<a name="842"><span class="lineNum"> 842 </span> : : const void *hdif;</a> -<a name="843"><span class="lineNum"> 843 </span> : : unsigned int i;</a> -<a name="844"><span class="lineNum"> 844 </span> :<span class="lineCov"> 2 : bool found = false;</span></a> -<a name="845"><span class="lineNum"> 845 </span> : : </a> -<a name="846"><span class="lineNum"> 846 </span> : : /*</a> -<a name="847"><span class="lineNum"> 847 </span> : : * Locate Proc Chip ID structures in SPIRA</a> -<a name="848"><span class="lineNum"> 848 </span> : : */</a> -<a name="849"><span class="lineNum"> 849 </span> :<span class="lineCov"> 2 : if (!get_hdif(&spira.ntuples.proc_chip, SPPCRD_HDIF_SIG))</span></a> -<a name="850"><span class="lineNum"> 850 </span> :<span class="lineNoCov"> 0 : return found;</span></a> +<a name="833"><span class="lineNum"> 833 </span> :<span class="lineCov"> 2 : xscom = find_xscom_for_chip(gcid);</span></a> +<a name="834"><span class="lineNum"> 834 </span> :<span class="lineCov"> 2 : if (xscom == NULL) {</span></a> +<a name="835"><span class="lineNum"> 835 </span> :<span class="lineNoCov"> 0 : prerror("NX%d: did not found xscom node.\n", gcid);</span></a> +<a name="836"><span class="lineNum"> 836 </span> :<span class="lineNoCov"> 0 : return;</span></a> +<a name="837"><span class="lineNum"> 837 </span> : : }</a> +<a name="838"><span class="lineNum"> 838 </span> : : </a> +<a name="839"><span class="lineNum"> 839 </span> : : /*</a> +<a name="840"><span class="lineNum"> 840 </span> : : * The NX register space is relatively self contained on P7+ but</a> +<a name="841"><span class="lineNum"> 841 </span> : : * a bit more messy on P8. However it's all contained within the</a> +<a name="842"><span class="lineNum"> 842 </span> : : * PB chiplet port 1 so we'll stick to that in the "reg" property</a> +<a name="843"><span class="lineNum"> 843 </span> : : * and let the NX "driver" deal with the details.</a> +<a name="844"><span class="lineNum"> 844 </span> : : */</a> +<a name="845"><span class="lineNum"> 845 </span> :<span class="lineCov"> 2 : addr = 0x2010000;</span></a> +<a name="846"><span class="lineNum"> 846 </span> :<span class="lineCov"> 2 : size = 0x0004000;</span></a> +<a name="847"><span class="lineNum"> 847 </span> : : </a> +<a name="848"><span class="lineNum"> 848 </span> :<span class="lineCov"> 2 : nx = dt_new_addr(xscom, "nx", addr);</span></a> +<a name="849"><span class="lineNum"> 849 </span> :<span class="lineCov"> 2 : if (!nx)</span></a> +<a name="850"><span class="lineNum"> 850 </span> :<span class="lineNoCov"> 0 : return;</span></a> <a name="851"><span class="lineNum"> 851 </span> : : </a> -<a name="852"><span class="lineNum"> 852 </span> :<span class="lineCov"> 66 : for_each_ntuple_idx(&spira.ntuples.proc_chip, hdif, i,</span></a> -<a name="853"><span class="lineNum"> 853 </span> : : SPPCRD_HDIF_SIG) {</a> -<a name="854"><span class="lineNum"> 854 </span> : : const struct sppcrd_chip_info *cinfo;</a> -<a name="855"><span class="lineNum"> 855 </span> : : const struct sppcrd_chip_tod *tinfo;</a> -<a name="856"><span class="lineNum"> 856 </span> : : unsigned int size;</a> -<a name="857"><span class="lineNum"> 857 </span> : : u32 ve, flags;</a> -<a name="858"><span class="lineNum"> 858 </span> : : </a> -<a name="859"><span class="lineNum"> 859 </span> :<span class="lineCov"> 64 : cinfo = HDIF_get_idata(hdif, SPPCRD_IDATA_CHIP_INFO, NULL);</span></a> -<a name="860"><span class="lineNum"> 860 </span> :<span class="lineCov"> 64 : if (!CHECK_SPPTR(cinfo)) {</span></a> -<a name="861"><span class="lineNum"> 861 </span> :<span class="lineNoCov"> 0 : prerror("CHIPTOD: Bad ChipID data %d\n", i);</span></a> -<a name="862"><span class="lineNum"> 862 </span> :<span class="lineCov"> 58 : continue;</span></a> -<a name="863"><span class="lineNum"> 863 </span> : : }</a> -<a name="864"><span class="lineNum"> 864 </span> : : </a> -<a name="865"><span class="lineNum"> 865 </span> :<span class="lineCov"> 64 : ve = be32_to_cpu(cinfo->verif_exist_flags) & CHIP_VERIFY_MASK;</span></a> -<a name="866"><span class="lineNum"> 866 </span> :<span class="lineCov"> 64 : ve >>= CHIP_VERIFY_SHIFT;</span></a> -<a name="867"><span class="lineNum"> 867 </span> :<span class="lineCov"> 64 : if (ve == CHIP_VERIFY_NOT_INSTALLED ||</span></a> -<a name="868"><span class="lineNum"> 868 </span> : : ve == CHIP_VERIFY_UNUSABLE)</a> -<a name="869"><span class="lineNum"> 869 </span> :<span class="lineCov"> 58 : continue;</span></a> -<a name="870"><span class="lineNum"> 870 </span> : : </a> -<a name="871"><span class="lineNum"> 871 </span> :<span class="lineCov"> 6 : tinfo = HDIF_get_idata(hdif, SPPCRD_IDATA_CHIP_TOD, &size);</span></a> -<a name="872"><span class="lineNum"> 872 </span> :<span class="lineCov"> 6 : if (!CHECK_SPPTR(tinfo)) {</span></a> -<a name="873"><span class="lineNum"> 873 </span> :<span class="lineNoCov"> 0 : prerror("CHIPTOD: Bad TOD data %d\n", i);</span></a> -<a name="874"><span class="lineNum"> 874 </span> :<span class="lineNoCov"> 0 : continue;</span></a> -<a name="875"><span class="lineNum"> 875 </span> : : }</a> -<a name="876"><span class="lineNum"> 876 </span> : : </a> -<a name="877"><span class="lineNum"> 877 </span> :<span class="lineCov"> 6 : flags = be32_to_cpu(tinfo->flags);</span></a> +<a name="852"><span class="lineNum"> 852 </span> :<span class="lineCov"> 2 : switch (proc_gen) {</span></a> +<a name="853"><span class="lineNum"> 853 </span> :<span class="lineCov"> 2 : case proc_gen_p8:</span></a> +<a name="854"><span class="lineNum"> 854 </span> :<span class="lineCov"> 2 : dt_add_property_strings(nx, "compatible", "ibm,power-nx",</span></a> +<a name="855"><span class="lineNum"> 855 </span> : : "ibm,power8-nx");</a> +<a name="856"><span class="lineNum"> 856 </span> :<span class="lineCov"> 2 : break;</span></a> +<a name="857"><span class="lineNum"> 857 </span> :<span class="lineNoCov"> 0 : case proc_gen_p9:</span></a> +<a name="858"><span class="lineNum"> 858 </span> : : case proc_gen_p10:</a> +<a name="859"><span class="lineNum"> 859 </span> : : /* POWER9 NX is not software compatible with P8 NX */</a> +<a name="860"><span class="lineNum"> 860 </span> :<span class="lineNoCov"> 0 : dt_add_property_strings(nx, "compatible", "ibm,power9-nx");</span></a> +<a name="861"><span class="lineNum"> 861 </span> :<span class="lineNoCov"> 0 : break;</span></a> +<a name="862"><span class="lineNum"> 862 </span> :<span class="lineNoCov"> 0 : default:</span></a> +<a name="863"><span class="lineNum"> 863 </span> :<span class="lineNoCov"> 0 : return;</span></a> +<a name="864"><span class="lineNum"> 864 </span> : : }</a> +<a name="865"><span class="lineNum"> 865 </span> : : </a> +<a name="866"><span class="lineNum"> 866 </span> :<span class="lineCov"> 2 : dt_add_property_cells(nx, "reg", addr, size);</span></a> +<a name="867"><span class="lineNum"> 867 </span> : : }</a> +<a name="868"><span class="lineNum"> 868 </span> : : </a> +<a name="869"><span class="lineNum"> 869 </span> :<span class="lineCov"> 1 : static void add_nx(void)</span></a> +<a name="870"><span class="lineNum"> 870 </span> : : {</a> +<a name="871"><span class="lineNum"> 871 </span> : : unsigned int i;</a> +<a name="872"><span class="lineNum"> 872 </span> : : void *hdif;</a> +<a name="873"><span class="lineNum"> 873 </span> : : </a> +<a name="874"><span class="lineNum"> 874 </span> :<span class="lineCov"> 33 : for_each_ntuple_idx(&spiras->ntuples.proc_chip, hdif, i,</span></a> +<a name="875"><span class="lineNum"> 875 </span> : : SPPCRD_HDIF_SIG) {</a> +<a name="876"><span class="lineNum"> 876 </span> : : const struct sppcrd_chip_info *cinfo;</a> +<a name="877"><span class="lineNum"> 877 </span> : : u32 ve;</a> <a name="878"><span class="lineNum"> 878 </span> : : </a> -<a name="879"><span class="lineNum"> 879 </span> : : /* The FSP may strip the chiptod info from HDAT; if we find</a> -<a name="880"><span class="lineNum"> 880 </span> : : * a zero-ed out entry, assume that the chiptod is</a> -<a name="881"><span class="lineNum"> 881 </span> : : * present, but we don't have any primary/secondary info. In</a> -<a name="882"><span class="lineNum"> 882 </span> : : * this case, pick chip zero as the master.</a> -<a name="883"><span class="lineNum"> 883 </span> : : */</a> -<a name="884"><span class="lineNum"> 884 </span> :<span class="lineCov"> 6 : if (!size) {</span></a> -<a name="885"><span class="lineNum"> 885 </span> :<span class="lineNoCov"> 0 : flags = CHIPTOD_ID_FLAGS_STATUS_OK;</span></a> -<a name="886"><span class="lineNum"> 886 </span> :<span class="lineNoCov"> 0 : if (be32_to_cpu(cinfo->xscom_id) == 0x0)</span></a> -<a name="887"><span class="lineNum"> 887 </span> :<span class="lineNoCov"> 0 : flags |= CHIPTOD_ID_FLAGS_PRIMARY;</span></a> -<a name="888"><span class="lineNum"> 888 </span> : : }</a> -<a name="889"><span class="lineNum"> 889 </span> : : </a> -<a name="890"><span class="lineNum"> 890 </span> :<span class="lineCov"> 6 : add_chiptod_node(get_xscom_id(cinfo), flags);</span></a> -<a name="891"><span class="lineNum"> 891 </span> :<span class="lineCov"> 6 : found = true;</span></a> -<a name="892"><span class="lineNum"> 892 </span> : : }</a> -<a name="893"><span class="lineNum"> 893 </span> :<span class="lineCov"> 2 : return found;</span></a> -<a name="894"><span class="lineNum"> 894 </span> : : }</a> +<a name="879"><span class="lineNum"> 879 </span> :<span class="lineCov"> 32 : cinfo = HDIF_get_idata(hdif, SPPCRD_IDATA_CHIP_INFO, NULL);</span></a> +<a name="880"><span class="lineNum"> 880 </span> :<span class="lineCov"> 32 : if (!CHECK_SPPTR(cinfo)) {</span></a> +<a name="881"><span class="lineNum"> 881 </span> :<span class="lineNoCov"> 0 : prerror("NX: Bad ChipID data %d\n", i);</span></a> +<a name="882"><span class="lineNum"> 882 </span> :<span class="lineNoCov"> 0 : continue;</span></a> +<a name="883"><span class="lineNum"> 883 </span> : : }</a> +<a name="884"><span class="lineNum"> 884 </span> : : </a> +<a name="885"><span class="lineNum"> 885 </span> :<span class="lineCov"> 32 : ve = be32_to_cpu(cinfo->verif_exist_flags) & CHIP_VERIFY_MASK;</span></a> +<a name="886"><span class="lineNum"> 886 </span> :<span class="lineCov"> 32 : ve >>= CHIP_VERIFY_SHIFT;</span></a> +<a name="887"><span class="lineNum"> 887 </span> :<span class="lineCov"> 32 : if (ve == CHIP_VERIFY_NOT_INSTALLED ||</span></a> +<a name="888"><span class="lineNum"> 888 </span> : : ve == CHIP_VERIFY_UNUSABLE)</a> +<a name="889"><span class="lineNum"> 889 </span> :<span class="lineCov"> 30 : continue;</span></a> +<a name="890"><span class="lineNum"> 890 </span> : : </a> +<a name="891"><span class="lineNum"> 891 </span> :<span class="lineCov"> 2 : if (cinfo->nx_state)</span></a> +<a name="892"><span class="lineNum"> 892 </span> :<span class="lineCov"> 2 : add_nx_node(get_xscom_id(cinfo));</span></a> +<a name="893"><span class="lineNum"> 893 </span> : : }</a> +<a name="894"><span class="lineNum"> 894 </span> :<span class="lineCov"> 1 : }</span></a> <a name="895"><span class="lineNum"> 895 </span> : : </a> -<a name="896"><span class="lineNum"> 896 </span> :<span class="lineCov"> 6 : static void add_nx_node(u32 gcid)</span></a> +<a name="896"><span class="lineNum"> 896 </span> :<span class="lineCov"> 1 : static void add_nmmu(void)</span></a> <a name="897"><span class="lineNum"> 897 </span> : : {</a> -<a name="898"><span class="lineNum"> 898 </span> : : struct dt_node *nx;</a> -<a name="899"><span class="lineNum"> 899 </span> : : u32 addr;</a> -<a name="900"><span class="lineNum"> 900 </span> : : u32 size;</a> -<a name="901"><span class="lineNum"> 901 </span> : : struct dt_node *xscom;</a> -<a name="902"><span class="lineNum"> 902 </span> : : </a> -<a name="903"><span class="lineNum"> 903 </span> :<span class="lineCov"> 6 : xscom = find_xscom_for_chip(gcid);</span></a> -<a name="904"><span class="lineNum"> 904 </span> :<span class="lineCov"> 6 : if (xscom == NULL) {</span></a> -<a name="905"><span class="lineNum"> 905 </span> :<span class="lineNoCov"> 0 : prerror("NX%d: did not found xscom node.\n", gcid);</span></a> -<a name="906"><span class="lineNum"> 906 </span> :<span class="lineNoCov"> 0 : return;</span></a> -<a name="907"><span class="lineNum"> 907 </span> : : }</a> -<a name="908"><span class="lineNum"> 908 </span> : : </a> -<a name="909"><span class="lineNum"> 909 </span> : : /*</a> -<a name="910"><span class="lineNum"> 910 </span> : : * The NX register space is relatively self contained on P7+ but</a> -<a name="911"><span class="lineNum"> 911 </span> : : * a bit more messy on P8. However it's all contained within the</a> -<a name="912"><span class="lineNum"> 912 </span> : : * PB chiplet port 1 so we'll stick to that in the "reg" property</a> -<a name="913"><span class="lineNum"> 913 </span> : : * and let the NX "driver" deal with the details.</a> -<a name="914"><span class="lineNum"> 914 </span> : : */</a> -<a name="915"><span class="lineNum"> 915 </span> :<span class="lineCov"> 6 : addr = 0x2010000;</span></a> -<a name="916"><span class="lineNum"> 916 </span> :<span class="lineCov"> 6 : size = 0x0004000;</span></a> -<a name="917"><span class="lineNum"> 917 </span> : : </a> -<a name="918"><span class="lineNum"> 918 </span> :<span class="lineCov"> 6 : nx = dt_new_addr(xscom, "nx", addr);</span></a> -<a name="919"><span class="lineNum"> 919 </span> :<span class="lineCov"> 6 : if (!nx)</span></a> -<a name="920"><span class="lineNum"> 920 </span> :<span class="lineNoCov"> 0 : return;</span></a> -<a name="921"><span class="lineNum"> 921 </span> : : </a> -<a name="922"><span class="lineNum"> 922 </span> :<span class="lineCov"> 6 : switch (proc_gen) {</span></a> -<a name="923"><span class="lineNum"> 923 </span> :<span class="lineCov"> 6 : case proc_gen_p8:</span></a> -<a name="924"><span class="lineNum"> 924 </span> :<span class="lineCov"> 6 : dt_add_property_strings(nx, "compatible", "ibm,power-nx",</span></a> -<a name="925"><span class="lineNum"> 925 </span> : : "ibm,power8-nx");</a> -<a name="926"><span class="lineNum"> 926 </span> :<span class="lineCov"> 6 : break;</span></a> -<a name="927"><span class="lineNum"> 927 </span> :<span class="lineNoCov"> 0 : case proc_gen_p9:</span></a> -<a name="928"><span class="lineNum"> 928 </span> : : case proc_gen_p10:</a> -<a name="929"><span class="lineNum"> 929 </span> : : /* POWER9 NX is not software compatible with P8 NX */</a> -<a name="930"><span class="lineNum"> 930 </span> :<span class="lineNoCov"> 0 : dt_add_property_strings(nx, "compatible", "ibm,power9-nx");</span></a> -<a name="931"><span class="lineNum"> 931 </span> :<span class="lineNoCov"> 0 : break;</span></a> -<a name="932"><span class="lineNum"> 932 </span> :<span class="lineNoCov"> 0 : default:</span></a> -<a name="933"><span class="lineNum"> 933 </span> :<span class="lineNoCov"> 0 : return;</span></a> -<a name="934"><span class="lineNum"> 934 </span> : : }</a> -<a name="935"><span class="lineNum"> 935 </span> : : </a> -<a name="936"><span class="lineNum"> 936 </span> :<span class="lineCov"> 6 : dt_add_property_cells(nx, "reg", addr, size);</span></a> -<a name="937"><span class="lineNum"> 937 </span> : : }</a> -<a name="938"><span class="lineNum"> 938 </span> : : </a> -<a name="939"><span class="lineNum"> 939 </span> :<span class="lineCov"> 2 : static void add_nx(void)</span></a> -<a name="940"><span class="lineNum"> 940 </span> : : {</a> -<a name="941"><span class="lineNum"> 941 </span> : : unsigned int i;</a> -<a name="942"><span class="lineNum"> 942 </span> : : void *hdif;</a> +<a name="898"><span class="lineNum"> 898 </span> : : struct dt_node *xscom, *nmmu;</a> +<a name="899"><span class="lineNum"> 899 </span> : : u32 scom1, scom2;</a> +<a name="900"><span class="lineNum"> 900 </span> : : u32 chip_id;</a> +<a name="901"><span class="lineNum"> 901 </span> : : </a> +<a name="902"><span class="lineNum"> 902 </span> : : /* Nest MMU only exists on POWER9 or later */</a> +<a name="903"><span class="lineNum"> 903 </span> :<span class="lineCov"> 1 : if (proc_gen < proc_gen_p9)</span></a> +<a name="904"><span class="lineNum"> 904 </span> :<span class="lineCov"> 1 : return;</span></a> +<a name="905"><span class="lineNum"> 905 </span> : : </a> +<a name="906"><span class="lineNum"> 906 </span> :<span class="lineNoCov"> 0 : if (proc_gen == proc_gen_p10) {</span></a> +<a name="907"><span class="lineNum"> 907 </span> :<span class="lineNoCov"> 0 : scom1 = 0x2010c40;</span></a> +<a name="908"><span class="lineNum"> 908 </span> :<span class="lineNoCov"> 0 : scom2 = 0x3010c40;</span></a> +<a name="909"><span class="lineNum"> 909 </span> : : } else</a> +<a name="910"><span class="lineNum"> 910 </span> :<span class="lineNoCov"> 0 : scom1 = 0x5012c40;</span></a> +<a name="911"><span class="lineNum"> 911 </span> : : </a> +<a name="912"><span class="lineNum"> 912 </span> :<span class="lineNoCov"> 0 : dt_for_each_compatible(dt_root, xscom, "ibm,xscom") {</span></a> +<a name="913"><span class="lineNum"> 913 </span> :<span class="lineNoCov"> 0 : nmmu = dt_new_addr(xscom, "nmmu", scom1);</span></a> +<a name="914"><span class="lineNum"> 914 </span> :<span class="lineNoCov"> 0 : dt_add_property_strings(nmmu, "compatible", "ibm,power9-nest-mmu");</span></a> +<a name="915"><span class="lineNum"> 915 </span> :<span class="lineNoCov"> 0 : dt_add_property_cells(nmmu, "reg", scom1, 0x20);</span></a> +<a name="916"><span class="lineNum"> 916 </span> : : </a> +<a name="917"><span class="lineNum"> 917 </span> : : /*</a> +<a name="918"><span class="lineNum"> 918 </span> : : * P10 has a second nMMU, a.k.a "south" nMMU.</a> +<a name="919"><span class="lineNum"> 919 </span> : : * It exists only on P1 and P3</a> +<a name="920"><span class="lineNum"> 920 </span> : : */</a> +<a name="921"><span class="lineNum"> 921 </span> :<span class="lineNoCov"> 0 : if (proc_gen == proc_gen_p10) {</span></a> +<a name="922"><span class="lineNum"> 922 </span> : : </a> +<a name="923"><span class="lineNum"> 923 </span> :<span class="lineNoCov"> 0 : chip_id = __dt_get_chip_id(xscom);</span></a> +<a name="924"><span class="lineNum"> 924 </span> :<span class="lineNoCov"> 0 : if (chip_id != 2 && chip_id != 6)</span></a> +<a name="925"><span class="lineNum"> 925 </span> :<span class="lineNoCov"> 0 : continue;</span></a> +<a name="926"><span class="lineNum"> 926 </span> : : </a> +<a name="927"><span class="lineNum"> 927 </span> :<span class="lineNoCov"> 0 : nmmu = dt_new_addr(xscom, "nmmu", scom2);</span></a> +<a name="928"><span class="lineNum"> 928 </span> :<span class="lineNoCov"> 0 : dt_add_property_strings(nmmu, "compatible", "ibm,power9-nest-mmu");</span></a> +<a name="929"><span class="lineNum"> 929 </span> :<span class="lineNoCov"> 0 : dt_add_property_cells(nmmu, "reg", scom2, 0x20);</span></a> +<a name="930"><span class="lineNum"> 930 </span> : : }</a> +<a name="931"><span class="lineNum"> 931 </span> : : }</a> +<a name="932"><span class="lineNum"> 932 </span> : : }</a> +<a name="933"><span class="lineNum"> 933 </span> : : </a> +<a name="934"><span class="lineNum"> 934 </span> :<span class="lineNoCov"> 0 : static void dt_init_secureboot_node(const struct iplparams_sysparams *sysparams)</span></a> +<a name="935"><span class="lineNum"> 935 </span> : : {</a> +<a name="936"><span class="lineNum"> 936 </span> : : struct dt_node *node;</a> +<a name="937"><span class="lineNum"> 937 </span> : : u16 sys_sec_setting;</a> +<a name="938"><span class="lineNum"> 938 </span> : : u16 hw_key_hash_size;</a> +<a name="939"><span class="lineNum"> 939 </span> : : u16 host_fw_key_clear;</a> +<a name="940"><span class="lineNum"> 940 </span> : : </a> +<a name="941"><span class="lineNum"> 941 </span> :<span class="lineNoCov"> 0 : node = dt_new(dt_root, "ibm,secureboot");</span></a> +<a name="942"><span class="lineNum"> 942 </span> :<span class="lineNoCov"> 0 : assert(node);</span></a> <a name="943"><span class="lineNum"> 943 </span> : : </a> -<a name="944"><span class="lineNum"> 944 </span> :<span class="lineCov"> 66 : for_each_ntuple_idx(&spira.ntuples.proc_chip, hdif, i,</span></a> -<a name="945"><span class="lineNum"> 945 </span> : : SPPCRD_HDIF_SIG) {</a> -<a name="946"><span class="lineNum"> 946 </span> : : const struct sppcrd_chip_info *cinfo;</a> -<a name="947"><span class="lineNum"> 947 </span> : : u32 ve;</a> -<a name="948"><span class="lineNum"> 948 </span> : : </a> -<a name="949"><span class="lineNum"> 949 </span> :<span class="lineCov"> 64 : cinfo = HDIF_get_idata(hdif, SPPCRD_IDATA_CHIP_INFO, NULL);</span></a> -<a name="950"><span class="lineNum"> 950 </span> :<span class="lineCov"> 64 : if (!CHECK_SPPTR(cinfo)) {</span></a> -<a name="951"><span class="lineNum"> 951 </span> :<span class="lineNoCov"> 0 : prerror("NX: Bad ChipID data %d\n", i);</span></a> -<a name="952"><span class="lineNum"> 952 </span> :<span class="lineNoCov"> 0 : continue;</span></a> -<a name="953"><span class="lineNum"> 953 </span> : : }</a> +<a name="944"><span class="lineNum"> 944 </span> :<span class="lineNoCov"> 0 : dt_add_property_strings(node, "compatible",</span></a> +<a name="945"><span class="lineNum"> 945 </span> : : "ibm,secureboot", "ibm,secureboot-v2");</a> +<a name="946"><span class="lineNum"> 946 </span> : : </a> +<a name="947"><span class="lineNum"> 947 </span> :<span class="lineNoCov"> 0 : sys_sec_setting = be16_to_cpu(sysparams->sys_sec_setting);</span></a> +<a name="948"><span class="lineNum"> 948 </span> :<span class="lineNoCov"> 0 : if (sys_sec_setting & SEC_CONTAINER_SIG_CHECKING)</span></a> +<a name="949"><span class="lineNum"> 949 </span> :<span class="lineNoCov"> 0 : dt_add_property(node, "secure-enabled", NULL, 0);</span></a> +<a name="950"><span class="lineNum"> 950 </span> :<span class="lineNoCov"> 0 : if (sys_sec_setting & SEC_HASHES_EXTENDED_TO_TPM)</span></a> +<a name="951"><span class="lineNum"> 951 </span> :<span class="lineNoCov"> 0 : dt_add_property(node, "trusted-enabled", NULL, 0);</span></a> +<a name="952"><span class="lineNum"> 952 </span> :<span class="lineNoCov"> 0 : if (sys_sec_setting & PHYSICAL_PRESENCE_ASSERTED)</span></a> +<a name="953"><span class="lineNum"> 953 </span> :<span class="lineNoCov"> 0 : dt_add_property(node, "physical-presence-asserted", NULL, 0);</span></a> <a name="954"><span class="lineNum"> 954 </span> : : </a> -<a name="955"><span class="lineNum"> 955 </span> :<span class="lineCov"> 64 : ve = be32_to_cpu(cinfo->verif_exist_flags) & CHIP_VERIFY_MASK;</span></a> -<a name="956"><span class="lineNum"> 956 </span> :<span class="lineCov"> 64 : ve >>= CHIP_VERIFY_SHIFT;</span></a> -<a name="957"><span class="lineNum"> 957 </span> :<span class="lineCov"> 64 : if (ve == CHIP_VERIFY_NOT_INSTALLED ||</span></a> -<a name="958"><span class="lineNum"> 958 </span> : : ve == CHIP_VERIFY_UNUSABLE)</a> -<a name="959"><span class="lineNum"> 959 </span> :<span class="lineCov"> 58 : continue;</span></a> -<a name="960"><span class="lineNum"> 960 </span> : : </a> -<a name="961"><span class="lineNum"> 961 </span> :<span class="lineCov"> 6 : if (cinfo->nx_state)</span></a> -<a name="962"><span class="lineNum"> 962 </span> :<span class="lineCov"> 6 : add_nx_node(get_xscom_id(cinfo));</span></a> -<a name="963"><span class="lineNum"> 963 </span> : : }</a> -<a name="964"><span class="lineNum"> 964 </span> :<span class="lineCov"> 2 : }</span></a> -<a name="965"><span class="lineNum"> 965 </span> : : </a> -<a name="966"><span class="lineNum"> 966 </span> :<span class="lineCov"> 2 : static void add_nmmu(void)</span></a> -<a name="967"><span class="lineNum"> 967 </span> : : {</a> -<a name="968"><span class="lineNum"> 968 </span> : : struct dt_node *xscom, *nmmu;</a> -<a name="969"><span class="lineNum"> 969 </span> : : u32 scom1, scom2;</a> -<a name="970"><span class="lineNum"> 970 </span> : : u32 chip_id;</a> -<a name="971"><span class="lineNum"> 971 </span> : : </a> -<a name="972"><span class="lineNum"> 972 </span> : : /* Nest MMU only exists on POWER9 or later */</a> -<a name="973"><span class="lineNum"> 973 </span> :<span class="lineCov"> 2 : if (proc_gen < proc_gen_p9)</span></a> -<a name="974"><span class="lineNum"> 974 </span> :<span class="lineCov"> 2 : return;</span></a> -<a name="975"><span class="lineNum"> 975 </span> : : </a> -<a name="976"><span class="lineNum"> 976 </span> :<span class="lineNoCov"> 0 : if (proc_gen == proc_gen_p10) {</span></a> -<a name="977"><span class="lineNum"> 977 </span> :<span class="lineNoCov"> 0 : scom1 = 0x2010c40;</span></a> -<a name="978"><span class="lineNum"> 978 </span> :<span class="lineNoCov"> 0 : scom2 = 0x3010c40;</span></a> -<a name="979"><span class="lineNum"> 979 </span> : : } else</a> -<a name="980"><span class="lineNum"> 980 </span> :<span class="lineNoCov"> 0 : scom1 = 0x5012c40;</span></a> +<a name="955"><span class="lineNum"> 955 </span> :<span class="lineNoCov"> 0 : host_fw_key_clear = be16_to_cpu(sysparams->host_fw_key_clear);</span></a> +<a name="956"><span class="lineNum"> 956 </span> :<span class="lineNoCov"> 0 : if (host_fw_key_clear & KEY_CLEAR_OS_KEYS)</span></a> +<a name="957"><span class="lineNum"> 957 </span> :<span class="lineNoCov"> 0 : dt_add_property(node, "clear-os-keys", NULL, 0);</span></a> +<a name="958"><span class="lineNum"> 958 </span> :<span class="lineNoCov"> 0 : if (host_fw_key_clear & KEY_CLEAR_MFG)</span></a> +<a name="959"><span class="lineNum"> 959 </span> :<span class="lineNoCov"> 0 : dt_add_property(node, "clear-mfg-keys", NULL, 0);</span></a> +<a name="960"><span class="lineNum"> 960 </span> :<span class="lineNoCov"> 0 : if (host_fw_key_clear & KEY_CLEAR_ALL)</span></a> +<a name="961"><span class="lineNum"> 961 </span> :<span class="lineNoCov"> 0 : dt_add_property(node, "clear-all-keys", NULL, 0);</span></a> +<a name="962"><span class="lineNum"> 962 </span> : : </a> +<a name="963"><span class="lineNum"> 963 </span> :<span class="lineNoCov"> 0 : hw_key_hash_size = be16_to_cpu(sysparams->hw_key_hash_size);</span></a> +<a name="964"><span class="lineNum"> 964 </span> : : </a> +<a name="965"><span class="lineNum"> 965 </span> : : /* Prevent hw-key-hash buffer overflow by truncating hw-key-hash-size if</a> +<a name="966"><span class="lineNum"> 966 </span> : : * it is bigger than the hw-key-hash buffer.</a> +<a name="967"><span class="lineNum"> 967 </span> : : * Secure boot will be enforced later in skiboot, if the hw-key-hash-size</a> +<a name="968"><span class="lineNum"> 968 </span> : : * was not supposed to be SYSPARAMS_HW_KEY_HASH_MAX.</a> +<a name="969"><span class="lineNum"> 969 </span> : : */</a> +<a name="970"><span class="lineNum"> 970 </span> :<span class="lineNoCov"> 0 : if (hw_key_hash_size > SYSPARAMS_HW_KEY_HASH_MAX) {</span></a> +<a name="971"><span class="lineNum"> 971 </span> :<span class="lineNoCov"> 0 : prlog(PR_ERR, "IPLPARAMS: hw-key-hash-size=%d too big, "</span></a> +<a name="972"><span class="lineNum"> 972 </span> : : "truncating to %d\n", hw_key_hash_size,</a> +<a name="973"><span class="lineNum"> 973 </span> : : SYSPARAMS_HW_KEY_HASH_MAX);</a> +<a name="974"><span class="lineNum"> 974 </span> :<span class="lineNoCov"> 0 : hw_key_hash_size = SYSPARAMS_HW_KEY_HASH_MAX;</span></a> +<a name="975"><span class="lineNum"> 975 </span> : : }</a> +<a name="976"><span class="lineNum"> 976 </span> : : </a> +<a name="977"><span class="lineNum"> 977 </span> :<span class="lineNoCov"> 0 : dt_add_property(node, "hw-key-hash", sysparams->hw_key_hash,</span></a> +<a name="978"><span class="lineNum"> 978 </span> : : hw_key_hash_size);</a> +<a name="979"><span class="lineNum"> 979 </span> :<span class="lineNoCov"> 0 : dt_add_property_cells(node, "hw-key-hash-size", hw_key_hash_size);</span></a> +<a name="980"><span class="lineNum"> 980 </span> :<span class="lineNoCov"> 0 : }</span></a> <a name="981"><span class="lineNum"> 981 </span> : : </a> -<a name="982"><span class="lineNum"> 982 </span> :<span class="lineNoCov"> 0 : dt_for_each_compatible(dt_root, xscom, "ibm,xscom") {</span></a> -<a name="983"><span class="lineNum"> 983 </span> :<span class="lineNoCov"> 0 : nmmu = dt_new_addr(xscom, "nmmu", scom1);</span></a> -<a name="984"><span class="lineNum"> 984 </span> :<span class="lineNoCov"> 0 : dt_add_property_strings(nmmu, "compatible", "ibm,power9-nest-mmu");</span></a> -<a name="985"><span class="lineNum"> 985 </span> :<span class="lineNoCov"> 0 : dt_add_property_cells(nmmu, "reg", scom1, 0x20);</span></a> -<a name="986"><span class="lineNum"> 986 </span> : : </a> -<a name="987"><span class="lineNum"> 987 </span> : : /*</a> -<a name="988"><span class="lineNum"> 988 </span> : : * P10 has a second nMMU, a.k.a "south" nMMU.</a> -<a name="989"><span class="lineNum"> 989 </span> : : * It exists only on P1 and P3</a> -<a name="990"><span class="lineNum"> 990 </span> : : */</a> -<a name="991"><span class="lineNum"> 991 </span> :<span class="lineNoCov"> 0 : if (proc_gen == proc_gen_p10) {</span></a> -<a name="992"><span class="lineNum"> 992 </span> : : </a> -<a name="993"><span class="lineNum"> 993 </span> :<span class="lineNoCov"> 0 : chip_id = __dt_get_chip_id(xscom);</span></a> -<a name="994"><span class="lineNum"> 994 </span> :<span class="lineNoCov"> 0 : if (chip_id != 2 && chip_id != 6)</span></a> -<a name="995"><span class="lineNum"> 995 </span> :<span class="lineNoCov"> 0 : continue;</span></a> -<a name="996"><span class="lineNum"> 996 </span> : : </a> -<a name="997"><span class="lineNum"> 997 </span> :<span class="lineNoCov"> 0 : nmmu = dt_new_addr(xscom, "nmmu", scom2);</span></a> -<a name="998"><span class="lineNum"> 998 </span> :<span class="lineNoCov"> 0 : dt_add_property_strings(nmmu, "compatible", "ibm,power9-nest-mmu");</span></a> -<a name="999"><span class="lineNum"> 999 </span> :<span class="lineNoCov"> 0 : dt_add_property_cells(nmmu, "reg", scom2, 0x20);</span></a> -<a name="1000"><span class="lineNum"> 1000 </span> : : }</a> -<a name="1001"><span class="lineNum"> 1001 </span> : : }</a> -<a name="1002"><span class="lineNum"> 1002 </span> : : }</a> -<a name="1003"><span class="lineNum"> 1003 </span> : : </a> -<a name="1004"><span class="lineNum"> 1004 </span> :<span class="lineNoCov"> 0 : static void dt_init_secureboot_node(const struct iplparams_sysparams *sysparams)</span></a> -<a name="1005"><span class="lineNum"> 1005 </span> : : {</a> -<a name="1006"><span class="lineNum"> 1006 </span> : : struct dt_node *node;</a> -<a name="1007"><span class="lineNum"> 1007 </span> : : u16 sys_sec_setting;</a> -<a name="1008"><span class="lineNum"> 1008 </span> : : u16 hw_key_hash_size;</a> -<a name="1009"><span class="lineNum"> 1009 </span> : : u16 host_fw_key_clear;</a> -<a name="1010"><span class="lineNum"> 1010 </span> : : </a> -<a name="1011"><span class="lineNum"> 1011 </span> :<span class="lineNoCov"> 0 : node = dt_new(dt_root, "ibm,secureboot");</span></a> -<a name="1012"><span class="lineNum"> 1012 </span> :<span class="lineNoCov"> 0 : assert(node);</span></a> -<a name="1013"><span class="lineNum"> 1013 </span> : : </a> -<a name="1014"><span class="lineNum"> 1014 </span> :<span class="lineNoCov"> 0 : dt_add_property_strings(node, "compatible",</span></a> -<a name="1015"><span class="lineNum"> 1015 </span> : : "ibm,secureboot", "ibm,secureboot-v2");</a> +<a name="982"><span class="lineNum"> 982 </span> :<span class="lineCov"> 1 : static void opal_dump_add_mpipl_boot(const struct iplparams_iplparams *p)</span></a> +<a name="983"><span class="lineNum"> 983 </span> : : {</a> +<a name="984"><span class="lineNum"> 984 </span> :<span class="lineCov"> 1 : u32 mdrt_cnt = be16_to_cpu(spirah.ntuples.mdump_res.act_cnt);</span></a> +<a name="985"><span class="lineNum"> 985 </span> :<span class="lineCov"> 1 : u32 mdrt_max_cnt = MDRT_TABLE_SIZE / sizeof(struct mdrt_table);</span></a> +<a name="986"><span class="lineNum"> 986 </span> : : struct dt_node *dump_node;</a> +<a name="987"><span class="lineNum"> 987 </span> : : </a> +<a name="988"><span class="lineNum"> 988 </span> :<span class="lineCov"> 1 : dump_node = dt_find_by_path(opal_node, "dump");</span></a> +<a name="989"><span class="lineNum"> 989 </span> :<span class="lineCov"> 1 : if (!dump_node)</span></a> +<a name="990"><span class="lineNum"> 990 </span> :<span class="lineCov"> 1 : return;</span></a> +<a name="991"><span class="lineNum"> 991 </span> : : </a> +<a name="992"><span class="lineNum"> 992 </span> : : /* Check boot params to detect MPIPL boot or not */</a> +<a name="993"><span class="lineNum"> 993 </span> :<span class="lineNoCov"> 0 : if (p->cec_ipl_maj_type != IPLPARAMS_MAJ_TYPE_REIPL)</span></a> +<a name="994"><span class="lineNum"> 994 </span> :<span class="lineNoCov"> 0 : return;</span></a> +<a name="995"><span class="lineNum"> 995 </span> : : </a> +<a name="996"><span class="lineNum"> 996 </span> : : /*</a> +<a name="997"><span class="lineNum"> 997 </span> : : * On FSP system we get minor type as post dump IPL and on BMC system</a> +<a name="998"><span class="lineNum"> 998 </span> : : * we get platform reboot. Hence lets check for both values.</a> +<a name="999"><span class="lineNum"> 999 </span> : : */</a> +<a name="1000"><span class="lineNum"> 1000 </span> :<span class="lineNoCov"> 0 : if (p->cec_ipl_min_type != IPLPARAMS_MIN_TYPE_POST_DUMP &&</span></a> +<a name="1001"><span class="lineNum"> 1001 </span> :<span class="lineNoCov"> 0 : p->cec_ipl_min_type != IPLPARAMS_MIN_TYPE_PLAT_REBOOT) {</span></a> +<a name="1002"><span class="lineNum"> 1002 </span> :<span class="lineNoCov"> 0 : prlog(PR_NOTICE, "DUMP: Non MPIPL reboot "</span></a> +<a name="1003"><span class="lineNum"> 1003 </span> : : "[minor type = 0x%x]\n", p->cec_ipl_min_type);</a> +<a name="1004"><span class="lineNum"> 1004 </span> :<span class="lineNoCov"> 0 : return;</span></a> +<a name="1005"><span class="lineNum"> 1005 </span> : : }</a> +<a name="1006"><span class="lineNum"> 1006 </span> : : </a> +<a name="1007"><span class="lineNum"> 1007 </span> :<span class="lineNoCov"> 0 : if (be16_to_cpu(p->cec_ipl_attrib) != IPLPARAMS_ATTRIB_MEM_PRESERVE) {</span></a> +<a name="1008"><span class="lineNum"> 1008 </span> :<span class="lineNoCov"> 0 : prlog(PR_DEBUG, "DUMP: Memory not preserved\n");</span></a> +<a name="1009"><span class="lineNum"> 1009 </span> :<span class="lineNoCov"> 0 : return;</span></a> +<a name="1010"><span class="lineNum"> 1010 </span> : : }</a> +<a name="1011"><span class="lineNum"> 1011 </span> : : </a> +<a name="1012"><span class="lineNum"> 1012 </span> :<span class="lineNoCov"> 0 : if (mdrt_cnt == 0 || mdrt_cnt >= mdrt_max_cnt) {</span></a> +<a name="1013"><span class="lineNum"> 1013 </span> :<span class="lineNoCov"> 0 : prlog(PR_DEBUG, "DUMP: Invalid MDRT count : %x\n", mdrt_cnt);</span></a> +<a name="1014"><span class="lineNum"> 1014 </span> :<span class="lineNoCov"> 0 : return;</span></a> +<a name="1015"><span class="lineNum"> 1015 </span> : : }</a> <a name="1016"><span class="lineNum"> 1016 </span> : : </a> -<a name="1017"><span class="lineNum"> 1017 </span> :<span class="lineNoCov"> 0 : sys_sec_setting = be16_to_cpu(sysparams->sys_sec_setting);</span></a> -<a name="1018"><span class="lineNum"> 1018 </span> :<span class="lineNoCov"> 0 : if (sys_sec_setting & SEC_CONTAINER_SIG_CHECKING)</span></a> -<a name="1019"><span class="lineNum"> 1019 </span> :<span class="lineNoCov"> 0 : dt_add_property(node, "secure-enabled", NULL, 0);</span></a> -<a name="1020"><span class="lineNum"> 1020 </span> :<span class="lineNoCov"> 0 : if (sys_sec_setting & SEC_HASHES_EXTENDED_TO_TPM)</span></a> -<a name="1021"><span class="lineNum"> 1021 </span> :<span class="lineNoCov"> 0 : dt_add_property(node, "trusted-enabled", NULL, 0);</span></a> -<a name="1022"><span class="lineNum"> 1022 </span> :<span class="lineNoCov"> 0 : if (sys_sec_setting & PHYSICAL_PRESENCE_ASSERTED)</span></a> -<a name="1023"><span class="lineNum"> 1023 </span> :<span class="lineNoCov"> 0 : dt_add_property(node, "physical-presence-asserted", NULL, 0);</span></a> -<a name="1024"><span class="lineNum"> 1024 </span> : : </a> -<a name="1025"><span class="lineNum"> 1025 </span> :<span class="lineNoCov"> 0 : host_fw_key_clear = be16_to_cpu(sysparams->host_fw_key_clear);</span></a> -<a name="1026"><span class="lineNum"> 1026 </span> :<span class="lineNoCov"> 0 : if (host_fw_key_clear & KEY_CLEAR_OS_KEYS)</span></a> -<a name="1027"><span class="lineNum"> 1027 </span> :<span class="lineNoCov"> 0 : dt_add_property(node, "clear-os-keys", NULL, 0);</span></a> -<a name="1028"><span class="lineNum"> 1028 </span> :<span class="lineNoCov"> 0 : if (host_fw_key_clear & KEY_CLEAR_MFG)</span></a> -<a name="1029"><span class="lineNum"> 1029 </span> :<span class="lineNoCov"> 0 : dt_add_property(node, "clear-mfg-keys", NULL, 0);</span></a> -<a name="1030"><span class="lineNum"> 1030 </span> :<span class="lineNoCov"> 0 : if (host_fw_key_clear & KEY_CLEAR_ALL)</span></a> -<a name="1031"><span class="lineNum"> 1031 </span> :<span class="lineNoCov"> 0 : dt_add_property(node, "clear-all-keys", NULL, 0);</span></a> -<a name="1032"><span class="lineNum"> 1032 </span> : : </a> -<a name="1033"><span class="lineNum"> 1033 </span> :<span class="lineNoCov"> 0 : hw_key_hash_size = be16_to_cpu(sysparams->hw_key_hash_size);</span></a> -<a name="1034"><span class="lineNum"> 1034 </span> : : </a> -<a name="1035"><span class="lineNum"> 1035 </span> : : /* Prevent hw-key-hash buffer overflow by truncating hw-key-hash-size if</a> -<a name="1036"><span class="lineNum"> 1036 </span> : : * it is bigger than the hw-key-hash buffer.</a> -<a name="1037"><span class="lineNum"> 1037 </span> : : * Secure boot will be enforced later in skiboot, if the hw-key-hash-size</a> -<a name="1038"><span class="lineNum"> 1038 </span> : : * was not supposed to be SYSPARAMS_HW_KEY_HASH_MAX.</a> -<a name="1039"><span class="lineNum"> 1039 </span> : : */</a> -<a name="1040"><span class="lineNum"> 1040 </span> :<span class="lineNoCov"> 0 : if (hw_key_hash_size > SYSPARAMS_HW_KEY_HASH_MAX) {</span></a> -<a name="1041"><span class="lineNum"> 1041 </span> :<span class="lineNoCov"> 0 : prlog(PR_ERR, "IPLPARAMS: hw-key-hash-size=%d too big, "</span></a> -<a name="1042"><span class="lineNum"> 1042 </span> : : "truncating to %d\n", hw_key_hash_size,</a> -<a name="1043"><span class="lineNum"> 1043 </span> : : SYSPARAMS_HW_KEY_HASH_MAX);</a> -<a name="1044"><span class="lineNum"> 1044 </span> :<span class="lineNoCov"> 0 : hw_key_hash_size = SYSPARAMS_HW_KEY_HASH_MAX;</span></a> -<a name="1045"><span class="lineNum"> 1045 </span> : : }</a> -<a name="1046"><span class="lineNum"> 1046 </span> : : </a> -<a name="1047"><span class="lineNum"> 1047 </span> :<span class="lineNoCov"> 0 : dt_add_property(node, "hw-key-hash", sysparams->hw_key_hash,</span></a> -<a name="1048"><span class="lineNum"> 1048 </span> : : hw_key_hash_size);</a> -<a name="1049"><span class="lineNum"> 1049 </span> :<span class="lineNoCov"> 0 : dt_add_property_cells(node, "hw-key-hash-size", hw_key_hash_size);</span></a> -<a name="1050"><span class="lineNum"> 1050 </span> :<span class="lineNoCov"> 0 : }</span></a> -<a name="1051"><span class="lineNum"> 1051 </span> : : </a> -<a name="1052"><span class="lineNum"> 1052 </span> :<span class="lineCov"> 2 : static void opal_dump_add_mpipl_boot(const struct iplparams_iplparams *p)</span></a> -<a name="1053"><span class="lineNum"> 1053 </span> : : {</a> -<a name="1054"><span class="lineNum"> 1054 </span> :<span class="lineCov"> 2 : u32 mdrt_cnt = be16_to_cpu(spira.ntuples.mdump_res.act_cnt);</span></a> -<a name="1055"><span class="lineNum"> 1055 </span> :<span class="lineCov"> 2 : u32 mdrt_max_cnt = MDRT_TABLE_SIZE / sizeof(struct mdrt_table);</span></a> -<a name="1056"><span class="lineNum"> 1056 </span> : : struct dt_node *dump_node;</a> -<a name="1057"><span class="lineNum"> 1057 </span> : : </a> -<a name="1058"><span class="lineNum"> 1058 </span> :<span class="lineCov"> 2 : dump_node = dt_find_by_path(opal_node, "dump");</span></a> -<a name="1059"><span class="lineNum"> 1059 </span> :<span class="lineCov"> 2 : if (!dump_node)</span></a> -<a name="1060"><span class="lineNum"> 1060 </span> :<span class="lineCov"> 2 : return;</span></a> -<a name="1061"><span class="lineNum"> 1061 </span> : : </a> -<a name="1062"><span class="lineNum"> 1062 </span> : : /* Check boot params to detect MPIPL boot or not */</a> -<a name="1063"><span class="lineNum"> 1063 </span> :<span class="lineNoCov"> 0 : if (p->cec_ipl_maj_type != IPLPARAMS_MAJ_TYPE_REIPL)</span></a> -<a name="1064"><span class="lineNum"> 1064 </span> :<span class="lineNoCov"> 0 : return;</span></a> -<a name="1065"><span class="lineNum"> 1065 </span> : : </a> -<a name="1066"><span class="lineNum"> 1066 </span> : : /*</a> -<a name="1067"><span class="lineNum"> 1067 </span> : : * On FSP system we get minor type as post dump IPL and on BMC system</a> -<a name="1068"><span class="lineNum"> 1068 </span> : : * we get platform reboot. Hence lets check for both values.</a> +<a name="1017"><span class="lineNum"> 1017 </span> :<span class="lineNoCov"> 0 : prlog(PR_NOTICE, "DUMP: Dump found, MDRT count = 0x%x\n", mdrt_cnt);</span></a> +<a name="1018"><span class="lineNum"> 1018 </span> : : </a> +<a name="1019"><span class="lineNum"> 1019 </span> :<span class="lineNoCov"> 0 : dt_add_property(dump_node, "mpipl-boot", NULL, 0);</span></a> +<a name="1020"><span class="lineNum"> 1020 </span> : : }</a> +<a name="1021"><span class="lineNum"> 1021 </span> : : </a> +<a name="1022"><span class="lineNum"> 1022 </span> :<span class="lineNoCov"> 0 : static void add_opal_dump_node(void)</span></a> +<a name="1023"><span class="lineNum"> 1023 </span> : : {</a> +<a name="1024"><span class="lineNum"> 1024 </span> : : __be64 fw_load_area[4];</a> +<a name="1025"><span class="lineNum"> 1025 </span> : : struct dt_node *node;</a> +<a name="1026"><span class="lineNum"> 1026 </span> : : </a> +<a name="1027"><span class="lineNum"> 1027 </span> :<span class="lineNoCov"> 0 : opal_node = dt_new_check(dt_root, "ibm,opal");</span></a> +<a name="1028"><span class="lineNum"> 1028 </span> :<span class="lineNoCov"> 0 : node = dt_new(opal_node, "dump");</span></a> +<a name="1029"><span class="lineNum"> 1029 </span> :<span class="lineNoCov"> 0 : assert(node);</span></a> +<a name="1030"><span class="lineNum"> 1030 </span> :<span class="lineNoCov"> 0 : dt_add_property_string(node, "compatible", "ibm,opal-dump");</span></a> +<a name="1031"><span class="lineNum"> 1031 </span> : : </a> +<a name="1032"><span class="lineNum"> 1032 </span> :<span class="lineNoCov"> 0 : fw_load_area[0] = cpu_to_be64((u64)KERNEL_LOAD_BASE);</span></a> +<a name="1033"><span class="lineNum"> 1033 </span> :<span class="lineNoCov"> 0 : fw_load_area[1] = cpu_to_be64(KERNEL_LOAD_SIZE);</span></a> +<a name="1034"><span class="lineNum"> 1034 </span> :<span class="lineNoCov"> 0 : fw_load_area[2] = cpu_to_be64((u64)INITRAMFS_LOAD_BASE);</span></a> +<a name="1035"><span class="lineNum"> 1035 </span> :<span class="lineNoCov"> 0 : fw_load_area[3] = cpu_to_be64(INITRAMFS_LOAD_SIZE);</span></a> +<a name="1036"><span class="lineNum"> 1036 </span> :<span class="lineNoCov"> 0 : dt_add_property(node, "fw-load-area", fw_load_area, sizeof(fw_load_area));</span></a> +<a name="1037"><span class="lineNum"> 1037 </span> :<span class="lineNoCov"> 0 : }</span></a> +<a name="1038"><span class="lineNum"> 1038 </span> : : </a> +<a name="1039"><span class="lineNum"> 1039 </span> :<span class="lineCov"> 1 : static void add_iplparams_sys_params(const void *iplp, struct dt_node *node)</span></a> +<a name="1040"><span class="lineNum"> 1040 </span> : : {</a> +<a name="1041"><span class="lineNum"> 1041 </span> : : const struct iplparams_sysparams *p;</a> +<a name="1042"><span class="lineNum"> 1042 </span> :<span class="lineCov"> 1 : const struct HDIF_common_hdr *hdif = iplp;</span></a> +<a name="1043"><span class="lineNum"> 1043 </span> :<span class="lineCov"> 1 : u16 version = be16_to_cpu(hdif->version);</span></a> +<a name="1044"><span class="lineNum"> 1044 </span> :<span class="lineCov"> 1 : const char *vendor = NULL;</span></a> +<a name="1045"><span class="lineNum"> 1045 </span> : : u32 sys_attributes;</a> +<a name="1046"><span class="lineNum"> 1046 </span> : : u64 bus_speed;</a> +<a name="1047"><span class="lineNum"> 1047 </span> : : </a> +<a name="1048"><span class="lineNum"> 1048 </span> :<span class="lineCov"> 1 : p = HDIF_get_idata(iplp, IPLPARAMS_SYSPARAMS, NULL);</span></a> +<a name="1049"><span class="lineNum"> 1049 </span> :<span class="lineCov"> 1 : if (!CHECK_SPPTR(p)) {</span></a> +<a name="1050"><span class="lineNum"> 1050 </span> :<span class="lineNoCov"> 0 : prerror("IPLPARAMS: No SYS Parameters\n");</span></a> +<a name="1051"><span class="lineNum"> 1051 </span> : : /* Create a generic compatible property */</a> +<a name="1052"><span class="lineNum"> 1052 </span> :<span class="lineNoCov"> 0 : dt_add_property_string(dt_root, "compatible", "ibm,powernv");</span></a> +<a name="1053"><span class="lineNum"> 1053 </span> :<span class="lineNoCov"> 0 : return;</span></a> +<a name="1054"><span class="lineNum"> 1054 </span> : : }</a> +<a name="1055"><span class="lineNum"> 1055 </span> : : </a> +<a name="1056"><span class="lineNum"> 1056 </span> :<span class="lineCov"> 1 : node = dt_new(node, "sys-params");</span></a> +<a name="1057"><span class="lineNum"> 1057 </span> :<span class="lineCov"> 1 : assert(node);</span></a> +<a name="1058"><span class="lineNum"> 1058 </span> :<span class="lineCov"> 1 : dt_add_property_cells(node, "#address-cells", 0);</span></a> +<a name="1059"><span class="lineNum"> 1059 </span> :<span class="lineCov"> 1 : dt_add_property_cells(node, "#size-cells", 0);</span></a> +<a name="1060"><span class="lineNum"> 1060 </span> : : </a> +<a name="1061"><span class="lineNum"> 1061 </span> :<span class="lineCov"> 1 : dt_add_property_nstr(node, "ibm,sys-model", p->sys_model, 4);</span></a> +<a name="1062"><span class="lineNum"> 1062 </span> : : </a> +<a name="1063"><span class="lineNum"> 1063 </span> : : /*</a> +<a name="1064"><span class="lineNum"> 1064 </span> : : * Compatible has up to three entries:</a> +<a name="1065"><span class="lineNum"> 1065 </span> : : * "ibm,powernv", the system family and system type.</a> +<a name="1066"><span class="lineNum"> 1066 </span> : : *</a> +<a name="1067"><span class="lineNum"> 1067 </span> : : * On P9 and above the family and type strings come from the HDAT</a> +<a name="1068"><span class="lineNum"> 1068 </span> : : * directly. On P8 we find it from the system ID numbers.</a> <a name="1069"><span class="lineNum"> 1069 </span> : : */</a> -<a name="1070"><span class="lineNum"> 1070 </span> :<span class="lineNoCov"> 0 : if (p->cec_ipl_min_type != IPLPARAMS_MIN_TYPE_POST_DUMP &&</span></a> -<a name="1071"><span class="lineNum"> 1071 </span> :<span class="lineNoCov"> 0 : p->cec_ipl_min_type != IPLPARAMS_MIN_TYPE_PLAT_REBOOT) {</span></a> -<a name="1072"><span class="lineNum"> 1072 </span> :<span class="lineNoCov"> 0 : prlog(PR_NOTICE, "DUMP: Non MPIPL reboot "</span></a> -<a name="1073"><span class="lineNum"> 1073 </span> : : "[minor type = 0x%x]\n", p->cec_ipl_min_type);</a> -<a name="1074"><span class="lineNum"> 1074 </span> :<span class="lineNoCov"> 0 : return;</span></a> -<a name="1075"><span class="lineNum"> 1075 </span> : : }</a> -<a name="1076"><span class="lineNum"> 1076 </span> : : </a> -<a name="1077"><span class="lineNum"> 1077 </span> :<span class="lineNoCov"> 0 : if (be16_to_cpu(p->cec_ipl_attrib) != IPLPARAMS_ATTRIB_MEM_PRESERVE) {</span></a> -<a name="1078"><span class="lineNum"> 1078 </span> :<span class="lineNoCov"> 0 : prlog(PR_DEBUG, "DUMP: Memory not preserved\n");</span></a> -<a name="1079"><span class="lineNum"> 1079 </span> :<span class="lineNoCov"> 0 : return;</span></a> -<a name="1080"><span class="lineNum"> 1080 </span> : : }</a> -<a name="1081"><span class="lineNum"> 1081 </span> : : </a> -<a name="1082"><span class="lineNum"> 1082 </span> :<span class="lineNoCov"> 0 : if (mdrt_cnt == 0 || mdrt_cnt >= mdrt_max_cnt) {</span></a> -<a name="1083"><span class="lineNum"> 1083 </span> :<span class="lineNoCov"> 0 : prlog(PR_DEBUG, "DUMP: Invalid MDRT count : %x\n", mdrt_cnt);</span></a> -<a name="1084"><span class="lineNum"> 1084 </span> :<span class="lineNoCov"> 0 : return;</span></a> -<a name="1085"><span class="lineNum"> 1085 </span> : : }</a> -<a name="1086"><span class="lineNum"> 1086 </span> : : </a> -<a name="1087"><span class="lineNum"> 1087 </span> :<span class="lineNoCov"> 0 : prlog(PR_NOTICE, "DUMP: Dump found, MDRT count = 0x%x\n", mdrt_cnt);</span></a> -<a name="1088"><span class="lineNum"> 1088 </span> : : </a> -<a name="1089"><span class="lineNum"> 1089 </span> :<span class="lineNoCov"> 0 : dt_add_property(dump_node, "mpipl-boot", NULL, 0);</span></a> -<a name="1090"><span class="lineNum"> 1090 </span> : : }</a> -<a name="1091"><span class="lineNum"> 1091 </span> : : </a> -<a name="1092"><span class="lineNum"> 1092 </span> :<span class="lineNoCov"> 0 : static void add_opal_dump_node(void)</span></a> -<a name="1093"><span class="lineNum"> 1093 </span> : : {</a> -<a name="1094"><span class="lineNum"> 1094 </span> : : __be64 fw_load_area[4];</a> -<a name="1095"><span class="lineNum"> 1095 </span> : : struct dt_node *node;</a> -<a name="1096"><span class="lineNum"> 1096 </span> : : </a> -<a name="1097"><span class="lineNum"> 1097 </span> :<span class="lineNoCov"> 0 : opal_node = dt_new_check(dt_root, "ibm,opal");</span></a> -<a name="1098"><span class="lineNum"> 1098 </span> :<span class="lineNoCov"> 0 : node = dt_new(opal_node, "dump");</span></a> -<a name="1099"><span class="lineNum"> 1099 </span> :<span class="lineNoCov"> 0 : assert(node);</span></a> -<a name="1100"><span class="lineNum"> 1100 </span> :<span class="lineNoCov"> 0 : dt_add_property_string(node, "compatible", "ibm,opal-dump");</span></a> -<a name="1101"><span class="lineNum"> 1101 </span> : : </a> -<a name="1102"><span class="lineNum"> 1102 </span> :<span class="lineNoCov"> 0 : fw_load_area[0] = cpu_to_be64((u64)KERNEL_LOAD_BASE);</span></a> -<a name="1103"><span class="lineNum"> 1103 </span> :<span class="lineNoCov"> 0 : fw_load_area[1] = cpu_to_be64(KERNEL_LOAD_SIZE);</span></a> -<a name="1104"><span class="lineNum"> 1104 </span> :<span class="lineNoCov"> 0 : fw_load_area[2] = cpu_to_be64((u64)INITRAMFS_LOAD_BASE);</span></a> -<a name="1105"><span class="lineNum"> 1105 </span> :<span class="lineNoCov"> 0 : fw_load_area[3] = cpu_to_be64(INITRAMFS_LOAD_SIZE);</span></a> -<a name="1106"><span class="lineNum"> 1106 </span> :<span class="lineNoCov"> 0 : dt_add_property(node, "fw-load-area", fw_load_area, sizeof(fw_load_area));</span></a> -<a name="1107"><span class="lineNum"> 1107 </span> :<span class="lineNoCov"> 0 : }</span></a> -<a name="1108"><span class="lineNum"> 1108 </span> : : </a> -<a name="1109"><span class="lineNum"> 1109 </span> :<span class="lineCov"> 2 : static void add_iplparams_sys_params(const void *iplp, struct dt_node *node)</span></a> -<a name="1110"><span class="lineNum"> 1110 </span> : : {</a> -<a name="1111"><span class="lineNum"> 1111 </span> : : const struct iplparams_sysparams *p;</a> -<a name="1112"><span class="lineNum"> 1112 </span> :<span class="lineCov"> 2 : const struct HDIF_common_hdr *hdif = iplp;</span></a> -<a name="1113"><span class="lineNum"> 1113 </span> :<span class="lineCov"> 2 : u16 version = be16_to_cpu(hdif->version);</span></a> -<a name="1114"><span class="lineNum"> 1114 </span> :<span class="lineCov"> 2 : const char *vendor = NULL;</span></a> -<a name="1115"><span class="lineNum"> 1115 </span> : : u32 sys_attributes;</a> -<a name="1116"><span class="lineNum"> 1116 </span> : : u64 bus_speed;</a> -<a name="1117"><span class="lineNum"> 1117 </span> : : </a> -<a name="1118"><span class="lineNum"> 1118 </span> :<span class="lineCov"> 2 : p = HDIF_get_idata(iplp, IPLPARAMS_SYSPARAMS, NULL);</span></a> -<a name="1119"><span class="lineNum"> 1119 </span> :<span class="lineCov"> 2 : if (!CHECK_SPPTR(p)) {</span></a> -<a name="1120"><span class="lineNum"> 1120 </span> :<span class="lineNoCov"> 0 : prerror("IPLPARAMS: No SYS Parameters\n");</span></a> -<a name="1121"><span class="lineNum"> 1121 </span> : : /* Create a generic compatible property */</a> -<a name="1122"><span class="lineNum"> 1122 </span> :<span class="lineNoCov"> 0 : dt_add_property_string(dt_root, "compatible", "ibm,powernv");</span></a> -<a name="1123"><span class="lineNum"> 1123 </span> :<span class="lineNoCov"> 0 : return;</span></a> -<a name="1124"><span class="lineNum"> 1124 </span> : : }</a> -<a name="1125"><span class="lineNum"> 1125 </span> : : </a> -<a name="1126"><span class="lineNum"> 1126 </span> :<span class="lineCov"> 2 : node = dt_new(node, "sys-params");</span></a> -<a name="1127"><span class="lineNum"> 1127 </span> :<span class="lineCov"> 2 : assert(node);</span></a> -<a name="1128"><span class="lineNum"> 1128 </span> :<span class="lineCov"> 2 : dt_add_property_cells(node, "#address-cells", 0);</span></a> -<a name="1129"><span class="lineNum"> 1129 </span> :<span class="lineCov"> 2 : dt_add_property_cells(node, "#size-cells", 0);</span></a> +<a name="1070"><span class="lineNum"> 1070 </span> :<span class="lineCov"> 1 : if (proc_gen >= proc_gen_p9) {</span></a> +<a name="1071"><span class="lineNum"> 1071 </span> :<span class="lineNoCov"> 0 : dt_add_property_strings(dt_root, "compatible", "ibm,powernv",</span></a> +<a name="1072"><span class="lineNum"> 1072 </span> : : p->sys_family_str, p->sys_type_str);</a> +<a name="1073"><span class="lineNum"> 1073 </span> : : </a> +<a name="1074"><span class="lineNum"> 1074 </span> :<span class="lineNoCov"> 0 : prlog(PR_INFO, "IPLPARAMS: v0x70 Platform family/type: %s/%s\n",</span></a> +<a name="1075"><span class="lineNum"> 1075 </span> : : p->sys_family_str, p->sys_type_str);</a> +<a name="1076"><span class="lineNum"> 1076 </span> : : } else {</a> +<a name="1077"><span class="lineNum"> 1077 </span> :<span class="lineCov"> 1 : u32 sys_type = be32_to_cpu(p->system_type);</span></a> +<a name="1078"><span class="lineNum"> 1078 </span> : : const char *sys_family;</a> +<a name="1079"><span class="lineNum"> 1079 </span> : : </a> +<a name="1080"><span class="lineNum"> 1080 </span> :<span class="lineCov"> 1 : switch (sys_type >> 28) {</span></a> +<a name="1081"><span class="lineNum"> 1081 </span> :<span class="lineNoCov"> 0 : case 0:</span></a> +<a name="1082"><span class="lineNum"> 1082 </span> :<span class="lineNoCov"> 0 : sys_family = "ibm,squadrons";</span></a> +<a name="1083"><span class="lineNum"> 1083 </span> :<span class="lineNoCov"> 0 : break;</span></a> +<a name="1084"><span class="lineNum"> 1084 </span> :<span class="lineNoCov"> 0 : case 1:</span></a> +<a name="1085"><span class="lineNum"> 1085 </span> :<span class="lineNoCov"> 0 : sys_family = "ibm,eclipz";</span></a> +<a name="1086"><span class="lineNum"> 1086 </span> :<span class="lineNoCov"> 0 : break;</span></a> +<a name="1087"><span class="lineNum"> 1087 </span> :<span class="lineNoCov"> 0 : case 2:</span></a> +<a name="1088"><span class="lineNum"> 1088 </span> :<span class="lineNoCov"> 0 : sys_family = "ibm,apollo";</span></a> +<a name="1089"><span class="lineNum"> 1089 </span> :<span class="lineNoCov"> 0 : break;</span></a> +<a name="1090"><span class="lineNum"> 1090 </span> :<span class="lineCov"> 1 : case 3:</span></a> +<a name="1091"><span class="lineNum"> 1091 </span> :<span class="lineCov"> 1 : sys_family = "ibm,firenze";</span></a> +<a name="1092"><span class="lineNum"> 1092 </span> :<span class="lineCov"> 1 : break;</span></a> +<a name="1093"><span class="lineNum"> 1093 </span> :<span class="lineNoCov"> 0 : default:</span></a> +<a name="1094"><span class="lineNum"> 1094 </span> :<span class="lineNoCov"> 0 : sys_family = NULL;</span></a> +<a name="1095"><span class="lineNum"> 1095 </span> :<span class="lineNoCov"> 0 : prerror("IPLPARAMS: Unknown system family\n");</span></a> +<a name="1096"><span class="lineNum"> 1096 </span> :<span class="lineNoCov"> 0 : break;</span></a> +<a name="1097"><span class="lineNum"> 1097 </span> : : }</a> +<a name="1098"><span class="lineNum"> 1098 </span> : : </a> +<a name="1099"><span class="lineNum"> 1099 </span> :<span class="lineCov"> 1 : dt_add_property_strings(dt_root, "compatible", "ibm,powernv",</span></a> +<a name="1100"><span class="lineNum"> 1100 </span> : : sys_family);</a> +<a name="1101"><span class="lineNum"> 1101 </span> :<span class="lineCov"> 1 : prlog(PR_INFO,</span></a> +<a name="1102"><span class="lineNum"> 1102 </span> : : "IPLPARAMS: Legacy platform family: %s"</a> +<a name="1103"><span class="lineNum"> 1103 </span> : : " (sys_type=0x%08x)\n", sys_family, sys_type);</a> +<a name="1104"><span class="lineNum"> 1104 </span> : : }</a> +<a name="1105"><span class="lineNum"> 1105 </span> : : </a> +<a name="1106"><span class="lineNum"> 1106 </span> : : /* Grab nest frequency when available */</a> +<a name="1107"><span class="lineNum"> 1107 </span> :<span class="lineCov"> 1 : if (version >= 0x005b) {</span></a> +<a name="1108"><span class="lineNum"> 1108 </span> :<span class="lineCov"> 1 : u64 freq = be32_to_cpu(p->nest_freq_mhz);</span></a> +<a name="1109"><span class="lineNum"> 1109 </span> : : </a> +<a name="1110"><span class="lineNum"> 1110 </span> :<span class="lineCov"> 1 : freq *= 1000000;</span></a> +<a name="1111"><span class="lineNum"> 1111 </span> :<span class="lineCov"> 1 : dt_add_property_u64(dt_root, "nest-frequency", freq);</span></a> +<a name="1112"><span class="lineNum"> 1112 </span> : : }</a> +<a name="1113"><span class="lineNum"> 1113 </span> : : </a> +<a name="1114"><span class="lineNum"> 1114 </span> : : /* Grab ABC bus speed */</a> +<a name="1115"><span class="lineNum"> 1115 </span> :<span class="lineCov"> 1 : bus_speed = be32_to_cpu(p->abc_bus_speed);</span></a> +<a name="1116"><span class="lineNum"> 1116 </span> :<span class="lineCov"> 1 : if (bus_speed)</span></a> +<a name="1117"><span class="lineNum"> 1117 </span> :<span class="lineCov"> 1 : dt_add_property_u64(node, "abc-bus-freq-mhz", bus_speed);</span></a> +<a name="1118"><span class="lineNum"> 1118 </span> : : </a> +<a name="1119"><span class="lineNum"> 1119 </span> : : /* Grab WXYZ bus speed */</a> +<a name="1120"><span class="lineNum"> 1120 </span> :<span class="lineCov"> 1 : bus_speed = be32_to_cpu(p->wxyz_bus_speed);</span></a> +<a name="1121"><span class="lineNum"> 1121 </span> :<span class="lineCov"> 1 : if (bus_speed)</span></a> +<a name="1122"><span class="lineNum"> 1122 </span> :<span class="lineCov"> 1 : dt_add_property_u64(node, "wxyz-bus-freq-mhz", bus_speed);</span></a> +<a name="1123"><span class="lineNum"> 1123 </span> : : </a> +<a name="1124"><span class="lineNum"> 1124 </span> :<span class="lineCov"> 1 : if (version >= 0x5f)</span></a> +<a name="1125"><span class="lineNum"> 1125 </span> :<span class="lineCov"> 1 : vendor = p->sys_vendor;</span></a> +<a name="1126"><span class="lineNum"> 1126 </span> : : </a> +<a name="1127"><span class="lineNum"> 1127 </span> : : /* Workaround a bug where we have NULL vendor */</a> +<a name="1128"><span class="lineNum"> 1128 </span> :<span class="lineCov"> 1 : if (!vendor || vendor[0] == '\0')</span></a> +<a name="1129"><span class="lineNum"> 1129 </span> :<span class="lineCov"> 1 : vendor = "IBM";</span></a> <a name="1130"><span class="lineNum"> 1130 </span> : : </a> -<a name="1131"><span class="lineNum"> 1131 </span> :<span class="lineCov"> 2 : dt_add_property_nstr(node, "ibm,sys-model", p->sys_model, 4);</span></a> +<a name="1131"><span class="lineNum"> 1131 </span> :<span class="lineCov"> 1 : dt_add_property_string(dt_root, "vendor", vendor);</span></a> <a name="1132"><span class="lineNum"> 1132 </span> : : </a> -<a name="1133"><span class="lineNum"> 1133 </span> : : /*</a> -<a name="1134"><span class="lineNum"> 1134 </span> : : * Compatible has up to three entries:</a> -<a name="1135"><span class="lineNum"> 1135 </span> : : * "ibm,powernv", the system family and system type.</a> -<a name="1136"><span class="lineNum"> 1136 </span> : : *</a> -<a name="1137"><span class="lineNum"> 1137 </span> : : * On P9 and above the family and type strings come from the HDAT</a> -<a name="1138"><span class="lineNum"> 1138 </span> : : * directly. On P8 we find it from the system ID numbers.</a> -<a name="1139"><span class="lineNum"> 1139 </span> : : */</a> -<a name="1140"><span class="lineNum"> 1140 </span> :<span class="lineCov"> 2 : if (proc_gen >= proc_gen_p9) {</span></a> -<a name="1141"><span class="lineNum"> 1141 </span> :<span class="lineNoCov"> 0 : dt_add_property_strings(dt_root, "compatible", "ibm,powernv",</span></a> -<a name="1142"><span class="lineNum"> 1142 </span> : : p->sys_family_str, p->sys_type_str);</a> -<a name="1143"><span class="lineNum"> 1143 </span> : : </a> -<a name="1144"><span class="lineNum"> 1144 </span> :<span class="lineNoCov"> 0 : prlog(PR_INFO, "IPLPARAMS: v0x70 Platform family/type: %s/%s\n",</span></a> -<a name="1145"><span class="lineNum"> 1145 </span> : : p->sys_family_str, p->sys_type_str);</a> -<a name="1146"><span class="lineNum"> 1146 </span> : : } else {</a> -<a name="1147"><span class="lineNum"> 1147 </span> :<span class="lineCov"> 2 : u32 sys_type = be32_to_cpu(p->system_type);</span></a> -<a name="1148"><span class="lineNum"> 1148 </span> : : const char *sys_family;</a> +<a name="1133"><span class="lineNum"> 1133 </span> :<span class="lineCov"> 1 : sys_attributes = be32_to_cpu(p->sys_attributes);</span></a> +<a name="1134"><span class="lineNum"> 1134 </span> :<span class="lineCov"> 1 : if (sys_attributes & SYS_ATTR_RISK_LEVEL)</span></a> +<a name="1135"><span class="lineNum"> 1135 </span> :<span class="lineNoCov"> 0 : dt_add_property(node, "elevated-risk-level", NULL, 0);</span></a> +<a name="1136"><span class="lineNum"> 1136 </span> : : </a> +<a name="1137"><span class="lineNum"> 1137 </span> : : /* Populate OPAL dump node */</a> +<a name="1138"><span class="lineNum"> 1138 </span> :<span class="lineCov"> 1 : if (sys_attributes & SYS_ATTR_MPIPL_SUPPORTED)</span></a> +<a name="1139"><span class="lineNum"> 1139 </span> :<span class="lineNoCov"> 0 : add_opal_dump_node();</span></a> +<a name="1140"><span class="lineNum"> 1140 </span> : : </a> +<a name="1141"><span class="lineNum"> 1141 </span> :<span class="lineCov"> 1 : if (version >= 0x60 && proc_gen >= proc_gen_p9)</span></a> +<a name="1142"><span class="lineNum"> 1142 </span> :<span class="lineNoCov"> 0 : dt_init_secureboot_node(p);</span></a> +<a name="1143"><span class="lineNum"> 1143 </span> : : }</a> +<a name="1144"><span class="lineNum"> 1144 </span> : : </a> +<a name="1145"><span class="lineNum"> 1145 </span> :<span class="lineCov"> 1 : static void add_iplparams_ipl_params(const void *iplp, struct dt_node *node)</span></a> +<a name="1146"><span class="lineNum"> 1146 </span> : : {</a> +<a name="1147"><span class="lineNum"> 1147 </span> : : const struct iplparams_iplparams *p;</a> +<a name="1148"><span class="lineNum"> 1148 </span> : : struct dt_node *led_node;</a> <a name="1149"><span class="lineNum"> 1149 </span> : : </a> -<a name="1150"><span class="lineNum"> 1150 </span> :<span class="lineCov"> 2 : switch (sys_type >> 28) {</span></a> -<a name="1151"><span class="lineNum"> 1151 </span> :<span class="lineNoCov"> 0 : case 0:</span></a> -<a name="1152"><span class="lineNum"> 1152 </span> :<span class="lineNoCov"> 0 : sys_family = "ibm,squadrons";</span></a> -<a name="1153"><span class="lineNum"> 1153 </span> :<span class="lineNoCov"> 0 : break;</span></a> -<a name="1154"><span class="lineNum"> 1154 </span> :<span class="lineNoCov"> 0 : case 1:</span></a> -<a name="1155"><span class="lineNum"> 1155 </span> :<span class="lineNoCov"> 0 : sys_family = "ibm,eclipz";</span></a> -<a name="1156"><span class="lineNum"> 1156 </span> :<span class="lineNoCov"> 0 : break;</span></a> -<a name="1157"><span class="lineNum"> 1157 </span> :<span class="lineNoCov"> 0 : case 2:</span></a> -<a name="1158"><span class="lineNum"> 1158 </span> :<span class="lineNoCov"> 0 : sys_family = "ibm,apollo";</span></a> -<a name="1159"><span class="lineNum"> 1159 </span> :<span class="lineNoCov"> 0 : break;</span></a> -<a name="1160"><span class="lineNum"> 1160 </span> :<span class="lineCov"> 2 : case 3:</span></a> -<a name="1161"><span class="lineNum"> 1161 </span> :<span class="lineCov"> 2 : sys_family = "ibm,firenze";</span></a> -<a name="1162"><span class="lineNum"> 1162 </span> :<span class="lineCov"> 2 : break;</span></a> -<a name="1163"><span class="lineNum"> 1163 </span> :<span class="lineNoCov"> 0 : default:</span></a> -<a name="1164"><span class="lineNum"> 1164 </span> :<span class="lineNoCov"> 0 : sys_family = NULL;</span></a> -<a name="1165"><span class="lineNum"> 1165 </span> :<span class="lineNoCov"> 0 : prerror("IPLPARAMS: Unknown system family\n");</span></a> -<a name="1166"><span class="lineNum"> 1166 </span> :<span class="lineNoCov"> 0 : break;</span></a> -<a name="1167"><span class="lineNum"> 1167 </span> : : }</a> -<a name="1168"><span class="lineNum"> 1168 </span> : : </a> -<a name="1169"><span class="lineNum"> 1169 </span> :<span class="lineCov"> 2 : dt_add_property_strings(dt_root, "compatible", "ibm,powernv",</span></a> -<a name="1170"><span class="lineNum"> 1170 </span> : : sys_family);</a> -<a name="1171"><span class="lineNum"> 1171 </span> :<span class="lineCov"> 2 : prlog(PR_INFO,</span></a> -<a name="1172"><span class="lineNum"> 1172 </span> : : "IPLPARAMS: Legacy platform family: %s"</a> -<a name="1173"><span class="lineNum"> 1173 </span> : : " (sys_type=0x%08x)\n", sys_family, sys_type);</a> -<a name="1174"><span class="lineNum"> 1174 </span> : : }</a> -<a name="1175"><span class="lineNum"> 1175 </span> : : </a> -<a name="1176"><span class="lineNum"> 1176 </span> : : /* Grab nest frequency when available */</a> -<a name="1177"><span class="lineNum"> 1177 </span> :<span class="lineCov"> 2 : if (version >= 0x005b) {</span></a> -<a name="1178"><span class="lineNum"> 1178 </span> :<span class="lineCov"> 2 : u64 freq = be32_to_cpu(p->nest_freq_mhz);</span></a> -<a name="1179"><span class="lineNum"> 1179 </span> : : </a> -<a name="1180"><span class="lineNum"> 1180 </span> :<span class="lineCov"> 2 : freq *= 1000000;</span></a> -<a name="1181"><span class="lineNum"> 1181 </span> :<span class="lineCov"> 2 : dt_add_property_u64(dt_root, "nest-frequency", freq);</span></a> -<a name="1182"><span class="lineNum"> 1182 </span> : : }</a> -<a name="1183"><span class="lineNum"> 1183 </span> : : </a> -<a name="1184"><span class="lineNum"> 1184 </span> : : /* Grab ABC bus speed */</a> -<a name="1185"><span class="lineNum"> 1185 </span> :<span class="lineCov"> 2 : bus_speed = be32_to_cpu(p->abc_bus_speed);</span></a> -<a name="1186"><span class="lineNum"> 1186 </span> :<span class="lineCov"> 2 : if (bus_speed)</span></a> -<a name="1187"><span class="lineNum"> 1187 </span> :<span class="lineCov"> 2 : dt_add_property_u64(node, "abc-bus-freq-mhz", bus_speed);</span></a> -<a name="1188"><span class="lineNum"> 1188 </span> : : </a> -<a name="1189"><span class="lineNum"> 1189 </span> : : /* Grab WXYZ bus speed */</a> -<a name="1190"><span class="lineNum"> 1190 </span> :<span class="lineCov"> 2 : bus_speed = be32_to_cpu(p->wxyz_bus_speed);</span></a> -<a name="1191"><span class="lineNum"> 1191 </span> :<span class="lineCov"> 2 : if (bus_speed)</span></a> -<a name="1192"><span class="lineNum"> 1192 </span> :<span class="lineCov"> 2 : dt_add_property_u64(node, "wxyz-bus-freq-mhz", bus_speed);</span></a> +<a name="1150"><span class="lineNum"> 1150 </span> :<span class="lineCov"> 1 : p = HDIF_get_idata(iplp, IPLPARAMS_IPLPARAMS, NULL);</span></a> +<a name="1151"><span class="lineNum"> 1151 </span> :<span class="lineCov"> 1 : if (!CHECK_SPPTR(p)) {</span></a> +<a name="1152"><span class="lineNum"> 1152 </span> :<span class="lineNoCov"> 0 : prerror("IPLPARAMS: No IPL Parameters\n");</span></a> +<a name="1153"><span class="lineNum"> 1153 </span> :<span class="lineNoCov"> 0 : return;</span></a> +<a name="1154"><span class="lineNum"> 1154 </span> : : }</a> +<a name="1155"><span class="lineNum"> 1155 </span> : : </a> +<a name="1156"><span class="lineNum"> 1156 </span> :<span class="lineCov"> 1 : node = dt_new(node, "ipl-params");</span></a> +<a name="1157"><span class="lineNum"> 1157 </span> :<span class="lineCov"> 1 : assert(node);</span></a> +<a name="1158"><span class="lineNum"> 1158 </span> :<span class="lineCov"> 1 : dt_add_property_cells(node, "#address-cells", 0);</span></a> +<a name="1159"><span class="lineNum"> 1159 </span> :<span class="lineCov"> 1 : dt_add_property_cells(node, "#size-cells", 0);</span></a> +<a name="1160"><span class="lineNum"> 1160 </span> : : </a> +<a name="1161"><span class="lineNum"> 1161 </span> : : /* On an ASM initiated factory reset, this bit will be set</a> +<a name="1162"><span class="lineNum"> 1162 </span> : : * and the FSP expects the firmware to reset the PCI bus</a> +<a name="1163"><span class="lineNum"> 1163 </span> : : * numbers and respond with a Power Down (CE,4D,02) message</a> +<a name="1164"><span class="lineNum"> 1164 </span> : : */</a> +<a name="1165"><span class="lineNum"> 1165 </span> :<span class="lineCov"> 1 : if (be32_to_cpu(p->other_attrib) & IPLPARAMS_OATTR_RST_PCI_BUSNO)</span></a> +<a name="1166"><span class="lineNum"> 1166 </span> :<span class="lineNoCov"> 0 : dt_add_property_cells(node, "pci-busno-reset-ipl", 1);</span></a> +<a name="1167"><span class="lineNum"> 1167 </span> :<span class="lineCov"> 1 : dt_add_property_strings(node, "cec-ipl-side",</span></a> +<a name="1168"><span class="lineNum"> 1168 </span> : : (p->ipl_side & IPLPARAMS_CEC_FW_IPL_SIDE_TEMP) ?</a> +<a name="1169"><span class="lineNum"> 1169 </span> : : "temp" : "perm");</a> +<a name="1170"><span class="lineNum"> 1170 </span> :<span class="lineCov"> 1 : if (proc_gen >= proc_gen_p9) {</span></a> +<a name="1171"><span class="lineNum"> 1171 </span> :<span class="lineNoCov"> 0 : dt_add_property_strings(node, "sp-ipl-side",</span></a> +<a name="1172"><span class="lineNum"> 1172 </span> : : (p->ipl_side & IPLPARAMS_FSP_FW_IPL_SIDE_TEMP) ?</a> +<a name="1173"><span class="lineNum"> 1173 </span> : : "temp" : "perm");</a> +<a name="1174"><span class="lineNum"> 1174 </span> : : } else {</a> +<a name="1175"><span class="lineNum"> 1175 </span> :<span class="lineCov"> 1 : dt_add_property_strings(node, "fsp-ipl-side",</span></a> +<a name="1176"><span class="lineNum"> 1176 </span> : : (p->ipl_side & IPLPARAMS_FSP_FW_IPL_SIDE_TEMP) ?</a> +<a name="1177"><span class="lineNum"> 1177 </span> : : "temp" : "perm");</a> +<a name="1178"><span class="lineNum"> 1178 </span> : : }</a> +<a name="1179"><span class="lineNum"> 1179 </span> :<span class="lineCov"> 1 : dt_add_property_cells(node, "os-ipl-mode", p->os_ipl_mode);</span></a> +<a name="1180"><span class="lineNum"> 1180 </span> :<span class="lineCov"> 1 : dt_add_property_strings(node, "cec-major-type",</span></a> +<a name="1181"><span class="lineNum"> 1181 </span> : : p->cec_ipl_maj_type ? "hot" : "cold");</a> +<a name="1182"><span class="lineNum"> 1182 </span> : : </a> +<a name="1183"><span class="lineNum"> 1183 </span> : : /* Add LED type info under '/ibm,opal/led' node */</a> +<a name="1184"><span class="lineNum"> 1184 </span> :<span class="lineCov"> 1 : led_node = dt_find_by_path(opal_node, DT_PROPERTY_LED_NODE);</span></a> +<a name="1185"><span class="lineNum"> 1185 </span> :<span class="lineCov"> 1 : assert(led_node);</span></a> +<a name="1186"><span class="lineNum"> 1186 </span> : : </a> +<a name="1187"><span class="lineNum"> 1187 </span> :<span class="lineCov"> 1 : if (be32_to_cpu(p->other_attrib) & IPLPARAMS_OATRR_LIGHT_PATH)</span></a> +<a name="1188"><span class="lineNum"> 1188 </span> :<span class="lineCov"> 1 : dt_add_property_strings(led_node, DT_PROPERTY_LED_MODE,</span></a> +<a name="1189"><span class="lineNum"> 1189 </span> : : LED_MODE_LIGHT_PATH);</a> +<a name="1190"><span class="lineNum"> 1190 </span> : : else</a> +<a name="1191"><span class="lineNum"> 1191 </span> :<span class="lineNoCov"> 0 : dt_add_property_strings(led_node, DT_PROPERTY_LED_MODE,</span></a> +<a name="1192"><span class="lineNum"> 1192 </span> : : LED_MODE_GUIDING_LIGHT);</a> <a name="1193"><span class="lineNum"> 1193 </span> : : </a> -<a name="1194"><span class="lineNum"> 1194 </span> :<span class="lineCov"> 2 : if (version >= 0x5f)</span></a> -<a name="1195"><span class="lineNum"> 1195 </span> :<span class="lineCov"> 1 : vendor = p->sys_vendor;</span></a> -<a name="1196"><span class="lineNum"> 1196 </span> : : </a> -<a name="1197"><span class="lineNum"> 1197 </span> : : /* Workaround a bug where we have NULL vendor */</a> -<a name="1198"><span class="lineNum"> 1198 </span> :<span class="lineCov"> 2 : if (!vendor || vendor[0] == '\0')</span></a> -<a name="1199"><span class="lineNum"> 1199 </span> :<span class="lineCov"> 2 : vendor = "IBM";</span></a> -<a name="1200"><span class="lineNum"> 1200 </span> : : </a> -<a name="1201"><span class="lineNum"> 1201 </span> :<span class="lineCov"> 2 : dt_add_property_string(dt_root, "vendor", vendor);</span></a> -<a name="1202"><span class="lineNum"> 1202 </span> : : </a> -<a name="1203"><span class="lineNum"> 1203 </span> :<span class="lineCov"> 2 : sys_attributes = be32_to_cpu(p->sys_attributes);</span></a> -<a name="1204"><span class="lineNum"> 1204 </span> :<span class="lineCov"> 2 : if (sys_attributes & SYS_ATTR_RISK_LEVEL)</span></a> -<a name="1205"><span class="lineNum"> 1205 </span> :<span class="lineNoCov"> 0 : dt_add_property(node, "elevated-risk-level", NULL, 0);</span></a> -<a name="1206"><span class="lineNum"> 1206 </span> : : </a> -<a name="1207"><span class="lineNum"> 1207 </span> : : /* Populate OPAL dump node */</a> -<a name="1208"><span class="lineNum"> 1208 </span> :<span class="lineCov"> 2 : if (sys_attributes & SYS_ATTR_MPIPL_SUPPORTED)</span></a> -<a name="1209"><span class="lineNum"> 1209 </span> :<span class="lineNoCov"> 0 : add_opal_dump_node();</span></a> -<a name="1210"><span class="lineNum"> 1210 </span> : : </a> -<a name="1211"><span class="lineNum"> 1211 </span> :<span class="lineCov"> 2 : if (version >= 0x60 && proc_gen >= proc_gen_p9)</span></a> -<a name="1212"><span class="lineNum"> 1212 </span> :<span class="lineNoCov"> 0 : dt_init_secureboot_node(p);</span></a> -<a name="1213"><span class="lineNum"> 1213 </span> : : }</a> -<a name="1214"><span class="lineNum"> 1214 </span> : : </a> -<a name="1215"><span class="lineNum"> 1215 </span> :<span class="lineCov"> 2 : static void add_iplparams_ipl_params(const void *iplp, struct dt_node *node)</span></a> -<a name="1216"><span class="lineNum"> 1216 </span> : : {</a> -<a name="1217"><span class="lineNum"> 1217 </span> : : const struct iplparams_iplparams *p;</a> -<a name="1218"><span class="lineNum"> 1218 </span> : : struct dt_node *led_node;</a> -<a name="1219"><span class="lineNum"> 1219 </span> : : </a> -<a name="1220"><span class="lineNum"> 1220 </span> :<span class="lineCov"> 2 : p = HDIF_get_idata(iplp, IPLPARAMS_IPLPARAMS, NULL);</span></a> -<a name="1221"><span class="lineNum"> 1221 </span> :<span class="lineCov"> 2 : if (!CHECK_SPPTR(p)) {</span></a> -<a name="1222"><span class="lineNum"> 1222 </span> :<span class="lineNoCov"> 0 : prerror("IPLPARAMS: No IPL Parameters\n");</span></a> -<a name="1223"><span class="lineNum"> 1223 </span> :<span class="lineNoCov"> 0 : return;</span></a> -<a name="1224"><span class="lineNum"> 1224 </span> : : }</a> -<a name="1225"><span class="lineNum"> 1225 </span> : : </a> -<a name="1226"><span class="lineNum"> 1226 </span> :<span class="lineCov"> 2 : node = dt_new(node, "ipl-params");</span></a> -<a name="1227"><span class="lineNum"> 1227 </span> :<span class="lineCov"> 2 : assert(node);</span></a> -<a name="1228"><span class="lineNum"> 1228 </span> :<span class="lineCov"> 2 : dt_add_property_cells(node, "#address-cells", 0);</span></a> -<a name="1229"><span class="lineNum"> 1229 </span> :<span class="lineCov"> 2 : dt_add_property_cells(node, "#size-cells", 0);</span></a> -<a name="1230"><span class="lineNum"> 1230 </span> : : </a> -<a name="1231"><span class="lineNum"> 1231 </span> : : /* On an ASM initiated factory reset, this bit will be set</a> -<a name="1232"><span class="lineNum"> 1232 </span> : : * and the FSP expects the firmware to reset the PCI bus</a> -<a name="1233"><span class="lineNum"> 1233 </span> : : * numbers and respond with a Power Down (CE,4D,02) message</a> -<a name="1234"><span class="lineNum"> 1234 </span> : : */</a> -<a name="1235"><span class="lineNum"> 1235 </span> :<span class="lineCov"> 2 : if (be32_to_cpu(p->other_attrib) & IPLPARAMS_OATTR_RST_PCI_BUSNO)</span></a> -<a name="1236"><span class="lineNum"> 1236 </span> :<span class="lineNoCov"> 0 : dt_add_property_cells(node, "pci-busno-reset-ipl", 1);</span></a> -<a name="1237"><span class="lineNum"> 1237 </span> :<span class="lineCov"> 2 : dt_add_property_strings(node, "cec-ipl-side",</span></a> -<a name="1238"><span class="lineNum"> 1238 </span> : : (p->ipl_side & IPLPARAMS_CEC_FW_IPL_SIDE_TEMP) ?</a> -<a name="1239"><span class="lineNum"> 1239 </span> : : "temp" : "perm");</a> -<a name="1240"><span class="lineNum"> 1240 </span> :<span class="lineCov"> 2 : if (proc_gen >= proc_gen_p9) {</span></a> -<a name="1241"><span class="lineNum"> 1241 </span> :<span class="lineNoCov"> 0 : dt_add_property_strings(node, "sp-ipl-side",</span></a> -<a name="1242"><span class="lineNum"> 1242 </span> : : (p->ipl_side & IPLPARAMS_FSP_FW_IPL_SIDE_TEMP) ?</a> -<a name="1243"><span class="lineNum"> 1243 </span> : : "temp" : "perm");</a> -<a name="1244"><span class="lineNum"> 1244 </span> : : } else {</a> -<a name="1245"><span class="lineNum"> 1245 </span> :<span class="lineCov"> 2 : dt_add_property_strings(node, "fsp-ipl-side",</span></a> -<a name="1246"><span class="lineNum"> 1246 </span> : : (p->ipl_side & IPLPARAMS_FSP_FW_IPL_SIDE_TEMP) ?</a> -<a name="1247"><span class="lineNum"> 1247 </span> : : "temp" : "perm");</a> -<a name="1248"><span class="lineNum"> 1248 </span> : : }</a> -<a name="1249"><span class="lineNum"> 1249 </span> :<span class="lineCov"> 2 : dt_add_property_cells(node, "os-ipl-mode", p->os_ipl_mode);</span></a> -<a name="1250"><span class="lineNum"> 1250 </span> :<span class="lineCov"> 2 : dt_add_property_strings(node, "cec-major-type",</span></a> -<a name="1251"><span class="lineNum"> 1251 </span> : : p->cec_ipl_maj_type ? "hot" : "cold");</a> -<a name="1252"><span class="lineNum"> 1252 </span> : : </a> -<a name="1253"><span class="lineNum"> 1253 </span> : : /* Add LED type info under '/ibm,opal/led' node */</a> -<a name="1254"><span class="lineNum"> 1254 </span> :<span class="lineCov"> 2 : led_node = dt_find_by_path(opal_node, DT_PROPERTY_LED_NODE);</span></a> -<a name="1255"><span class="lineNum"> 1255 </span> :<span class="lineCov"> 2 : assert(led_node);</span></a> -<a name="1256"><span class="lineNum"> 1256 </span> : : </a> -<a name="1257"><span class="lineNum"> 1257 </span> :<span class="lineCov"> 2 : if (be32_to_cpu(p->other_attrib) & IPLPARAMS_OATRR_LIGHT_PATH)</span></a> -<a name="1258"><span class="lineNum"> 1258 </span> :<span class="lineCov"> 2 : dt_add_property_strings(led_node, DT_PROPERTY_LED_MODE,</span></a> -<a name="1259"><span class="lineNum"> 1259 </span> : : LED_MODE_LIGHT_PATH);</a> -<a name="1260"><span class="lineNum"> 1260 </span> : : else</a> -<a name="1261"><span class="lineNum"> 1261 </span> :<span class="lineNoCov"> 0 : dt_add_property_strings(led_node, DT_PROPERTY_LED_MODE,</span></a> -<a name="1262"><span class="lineNum"> 1262 </span> : : LED_MODE_GUIDING_LIGHT);</a> -<a name="1263"><span class="lineNum"> 1263 </span> : : </a> -<a name="1264"><span class="lineNum"> 1264 </span> : : /* Populate opal dump result table */</a> -<a name="1265"><span class="lineNum"> 1265 </span> :<span class="lineCov"> 2 : opal_dump_add_mpipl_boot(p);</span></a> -<a name="1266"><span class="lineNum"> 1266 </span> : : }</a> -<a name="1267"><span class="lineNum"> 1267 </span> : : </a> -<a name="1268"><span class="lineNum"> 1268 </span> :<span class="lineCov"> 2 : static void add_iplparams_serials(const void *iplp, struct dt_node *node)</span></a> -<a name="1269"><span class="lineNum"> 1269 </span> : : {</a> -<a name="1270"><span class="lineNum"> 1270 </span> : : const struct iplparms_serial *ipser;</a> -<a name="1271"><span class="lineNum"> 1271 </span> : : struct dt_node *ser_node;</a> -<a name="1272"><span class="lineNum"> 1272 </span> : : int count, i;</a> +<a name="1194"><span class="lineNum"> 1194 </span> : : /* Populate opal dump result table */</a> +<a name="1195"><span class="lineNum"> 1195 </span> :<span class="lineCov"> 1 : opal_dump_add_mpipl_boot(p);</span></a> +<a name="1196"><span class="lineNum"> 1196 </span> : : }</a> +<a name="1197"><span class="lineNum"> 1197 </span> : : </a> +<a name="1198"><span class="lineNum"> 1198 </span> :<span class="lineCov"> 1 : static void add_iplparams_serials(const void *iplp, struct dt_node *node)</span></a> +<a name="1199"><span class="lineNum"> 1199 </span> : : {</a> +<a name="1200"><span class="lineNum"> 1200 </span> : : const struct iplparms_serial *ipser;</a> +<a name="1201"><span class="lineNum"> 1201 </span> : : struct dt_node *ser_node;</a> +<a name="1202"><span class="lineNum"> 1202 </span> : : int count, i;</a> +<a name="1203"><span class="lineNum"> 1203 </span> : : </a> +<a name="1204"><span class="lineNum"> 1204 </span> :<span class="lineCov"> 1 : count = HDIF_get_iarray_size(iplp, IPLPARMS_IDATA_SERIAL);</span></a> +<a name="1205"><span class="lineNum"> 1205 </span> :<span class="lineCov"> 1 : if (count <= 0)</span></a> +<a name="1206"><span class="lineNum"> 1206 </span> :<span class="lineNoCov"> 0 : return;</span></a> +<a name="1207"><span class="lineNum"> 1207 </span> :<span class="lineCov"> 1 : prlog(PR_INFO, "IPLPARAMS: %d serial ports in array\n", count);</span></a> +<a name="1208"><span class="lineNum"> 1208 </span> : : </a> +<a name="1209"><span class="lineNum"> 1209 </span> :<span class="lineCov"> 1 : node = dt_new(node, "fsp-serial");</span></a> +<a name="1210"><span class="lineNum"> 1210 </span> :<span class="lineCov"> 1 : assert(node);</span></a> +<a name="1211"><span class="lineNum"> 1211 </span> :<span class="lineCov"> 1 : dt_add_property_cells(node, "#address-cells", 1);</span></a> +<a name="1212"><span class="lineNum"> 1212 </span> :<span class="lineCov"> 1 : dt_add_property_cells(node, "#size-cells", 0);</span></a> +<a name="1213"><span class="lineNum"> 1213 </span> : : </a> +<a name="1214"><span class="lineNum"> 1214 </span> :<span class="lineCov"> 2 : for (i = 0; i < count; i++) {</span></a> +<a name="1215"><span class="lineNum"> 1215 </span> : : u16 rsrc_id;</a> +<a name="1216"><span class="lineNum"> 1216 </span> :<span class="lineCov"> 1 : ipser = HDIF_get_iarray_item(iplp, IPLPARMS_IDATA_SERIAL,</span></a> +<a name="1217"><span class="lineNum"> 1217 </span> : : i, NULL);</a> +<a name="1218"><span class="lineNum"> 1218 </span> :<span class="lineCov"> 1 : if (!CHECK_SPPTR(ipser))</span></a> +<a name="1219"><span class="lineNum"> 1219 </span> :<span class="lineNoCov"> 0 : continue;</span></a> +<a name="1220"><span class="lineNum"> 1220 </span> :<span class="lineCov"> 1 : rsrc_id = be16_to_cpu(ipser->rsrc_id);</span></a> +<a name="1221"><span class="lineNum"> 1221 </span> :<span class="lineCov"> 1 : prlog(PR_INFO, "IPLPARAMS: Serial %d rsrc: %04x loc: %s\n",</span></a> +<a name="1222"><span class="lineNum"> 1222 </span> : : i, rsrc_id, ipser->loc_code);</a> +<a name="1223"><span class="lineNum"> 1223 </span> :<span class="lineCov"> 1 : ser_node = dt_new_addr(node, "serial", rsrc_id);</span></a> +<a name="1224"><span class="lineNum"> 1224 </span> :<span class="lineCov"> 1 : if (!ser_node)</span></a> +<a name="1225"><span class="lineNum"> 1225 </span> :<span class="lineNoCov"> 0 : continue;</span></a> +<a name="1226"><span class="lineNum"> 1226 </span> : : </a> +<a name="1227"><span class="lineNum"> 1227 </span> :<span class="lineCov"> 1 : dt_add_property_cells(ser_node, "reg", rsrc_id);</span></a> +<a name="1228"><span class="lineNum"> 1228 </span> :<span class="lineCov"> 1 : dt_add_property_nstr(ser_node, "ibm,loc-code",</span></a> +<a name="1229"><span class="lineNum"> 1229 </span> :<span class="lineCov"> 1 : ipser->loc_code, LOC_CODE_SIZE);</span></a> +<a name="1230"><span class="lineNum"> 1230 </span> :<span class="lineCov"> 1 : dt_add_property_string(ser_node, "compatible",</span></a> +<a name="1231"><span class="lineNum"> 1231 </span> : : "ibm,fsp-serial");</a> +<a name="1232"><span class="lineNum"> 1232 </span> : : /* XXX handle CALLHOME flag ? */</a> +<a name="1233"><span class="lineNum"> 1233 </span> : : }</a> +<a name="1234"><span class="lineNum"> 1234 </span> : : }</a> +<a name="1235"><span class="lineNum"> 1235 </span> : : </a> +<a name="1236"><span class="lineNum"> 1236 </span> : : /*</a> +<a name="1237"><span class="lineNum"> 1237 </span> : : * Check for platform dump, if present populate DT</a> +<a name="1238"><span class="lineNum"> 1238 </span> : : */</a> +<a name="1239"><span class="lineNum"> 1239 </span> :<span class="lineCov"> 1 : static void add_iplparams_platform_dump(const void *iplp, struct dt_node *node)</span></a> +<a name="1240"><span class="lineNum"> 1240 </span> : : {</a> +<a name="1241"><span class="lineNum"> 1241 </span> : : const struct iplparams_dump *ipl_dump;</a> +<a name="1242"><span class="lineNum"> 1242 </span> : : </a> +<a name="1243"><span class="lineNum"> 1243 </span> :<span class="lineCov"> 1 : ipl_dump = HDIF_get_idata(iplp, IPLPARAMS_PLATFORM_DUMP, NULL);</span></a> +<a name="1244"><span class="lineNum"> 1244 </span> :<span class="lineCov"> 1 : if (!CHECK_SPPTR(ipl_dump))</span></a> +<a name="1245"><span class="lineNum"> 1245 </span> :<span class="lineNoCov"> 0 : return;</span></a> +<a name="1246"><span class="lineNum"> 1246 </span> : : </a> +<a name="1247"><span class="lineNum"> 1247 </span> :<span class="lineCov"> 1 : node = dt_new(node, "platform-dump");</span></a> +<a name="1248"><span class="lineNum"> 1248 </span> :<span class="lineCov"> 1 : assert(node);</span></a> +<a name="1249"><span class="lineNum"> 1249 </span> : : </a> +<a name="1250"><span class="lineNum"> 1250 </span> :<span class="lineCov"> 1 : if (be32_to_cpu(ipl_dump->dump_id)) {</span></a> +<a name="1251"><span class="lineNum"> 1251 </span> :<span class="lineNoCov"> 0 : dt_add_property_cells(node, "dump-id",</span></a> +<a name="1252"><span class="lineNum"> 1252 </span> : : be32_to_cpu(ipl_dump->dump_id));</a> +<a name="1253"><span class="lineNum"> 1253 </span> :<span class="lineNoCov"> 0 : dt_add_property_u64(node, "total-size",</span></a> +<a name="1254"><span class="lineNum"> 1254 </span> :<span class="lineNoCov"> 0 : be64_to_cpu(ipl_dump->act_dump_sz));</span></a> +<a name="1255"><span class="lineNum"> 1255 </span> :<span class="lineNoCov"> 0 : dt_add_property_u64(node, "hw-dump-size",</span></a> +<a name="1256"><span class="lineNum"> 1256 </span> :<span class="lineNoCov"> 0 : be32_to_cpu(ipl_dump->act_hw_dump_sz));</span></a> +<a name="1257"><span class="lineNum"> 1257 </span> :<span class="lineNoCov"> 0 : dt_add_property_cells(node, "plog-id",</span></a> +<a name="1258"><span class="lineNum"> 1258 </span> : : be32_to_cpu(ipl_dump->plid));</a> +<a name="1259"><span class="lineNum"> 1259 </span> : : }</a> +<a name="1260"><span class="lineNum"> 1260 </span> : : }</a> +<a name="1261"><span class="lineNum"> 1261 </span> : : </a> +<a name="1262"><span class="lineNum"> 1262 </span> :<span class="lineCov"> 1 : static void add_iplparams_features(const struct HDIF_common_hdr *iplp)</span></a> +<a name="1263"><span class="lineNum"> 1263 </span> : : {</a> +<a name="1264"><span class="lineNum"> 1264 </span> : : const struct iplparams_feature *feature;</a> +<a name="1265"><span class="lineNum"> 1265 </span> : : const struct HDIF_array_hdr *array;</a> +<a name="1266"><span class="lineNum"> 1266 </span> : : struct dt_node *fw_features;</a> +<a name="1267"><span class="lineNum"> 1267 </span> : : unsigned int count, i;</a> +<a name="1268"><span class="lineNum"> 1268 </span> : : char name[65];</a> +<a name="1269"><span class="lineNum"> 1269 </span> : : </a> +<a name="1270"><span class="lineNum"> 1270 </span> :<span class="lineCov"> 1 : array = HDIF_get_iarray(iplp, IPLPARAMS_FEATURES, &count);</span></a> +<a name="1271"><span class="lineNum"> 1271 </span> :<span class="lineCov"> 1 : if (!array || !count)</span></a> +<a name="1272"><span class="lineNum"> 1272 </span> :<span class="lineCov"> 1 : return;</span></a> <a name="1273"><span class="lineNum"> 1273 </span> : : </a> -<a name="1274"><span class="lineNum"> 1274 </span> :<span class="lineCov"> 2 : count = HDIF_get_iarray_size(iplp, IPLPARMS_IDATA_SERIAL);</span></a> -<a name="1275"><span class="lineNum"> 1275 </span> :<span class="lineCov"> 2 : if (count <= 0)</span></a> -<a name="1276"><span class="lineNum"> 1276 </span> :<span class="lineNoCov"> 0 : return;</span></a> -<a name="1277"><span class="lineNum"> 1277 </span> :<span class="lineCov"> 2 : prlog(PR_INFO, "IPLPARAMS: %d serial ports in array\n", count);</span></a> +<a name="1274"><span class="lineNum"> 1274 </span> :<span class="lineNoCov"> 0 : opal_node = dt_new_check(dt_root, "ibm,opal");</span></a> +<a name="1275"><span class="lineNum"> 1275 </span> :<span class="lineNoCov"> 0 : fw_features = dt_new(opal_node, "fw-features");</span></a> +<a name="1276"><span class="lineNum"> 1276 </span> :<span class="lineNoCov"> 0 : if (!fw_features)</span></a> +<a name="1277"><span class="lineNum"> 1277 </span> :<span class="lineNoCov"> 0 : return;</span></a> <a name="1278"><span class="lineNum"> 1278 </span> : : </a> -<a name="1279"><span class="lineNum"> 1279 </span> :<span class="lineCov"> 2 : node = dt_new(node, "fsp-serial");</span></a> -<a name="1280"><span class="lineNum"> 1280 </span> :<span class="lineCov"> 2 : assert(node);</span></a> -<a name="1281"><span class="lineNum"> 1281 </span> :<span class="lineCov"> 2 : dt_add_property_cells(node, "#address-cells", 1);</span></a> -<a name="1282"><span class="lineNum"> 1282 </span> :<span class="lineCov"> 2 : dt_add_property_cells(node, "#size-cells", 0);</span></a> -<a name="1283"><span class="lineNum"> 1283 </span> : : </a> -<a name="1284"><span class="lineNum"> 1284 </span> :<span class="lineCov"> 4 : for (i = 0; i < count; i++) {</span></a> -<a name="1285"><span class="lineNum"> 1285 </span> : : u16 rsrc_id;</a> -<a name="1286"><span class="lineNum"> 1286 </span> :<span class="lineCov"> 2 : ipser = HDIF_get_iarray_item(iplp, IPLPARMS_IDATA_SERIAL,</span></a> -<a name="1287"><span class="lineNum"> 1287 </span> : : i, NULL);</a> -<a name="1288"><span class="lineNum"> 1288 </span> :<span class="lineCov"> 2 : if (!CHECK_SPPTR(ipser))</span></a> -<a name="1289"><span class="lineNum"> 1289 </span> :<span class="lineNoCov"> 0 : continue;</span></a> -<a name="1290"><span class="lineNum"> 1290 </span> :<span class="lineCov"> 2 : rsrc_id = be16_to_cpu(ipser->rsrc_id);</span></a> -<a name="1291"><span class="lineNum"> 1291 </span> :<span class="lineCov"> 2 : prlog(PR_INFO, "IPLPARAMS: Serial %d rsrc: %04x loc: %s\n",</span></a> -<a name="1292"><span class="lineNum"> 1292 </span> : : i, rsrc_id, ipser->loc_code);</a> -<a name="1293"><span class="lineNum"> 1293 </span> :<span class="lineCov"> 2 : ser_node = dt_new_addr(node, "serial", rsrc_id);</span></a> -<a name="1294"><span class="lineNum"> 1294 </span> :<span class="lineCov"> 2 : if (!ser_node)</span></a> -<a name="1295"><span class="lineNum"> 1295 </span> :<span class="lineNoCov"> 0 : continue;</span></a> +<a name="1279"><span class="lineNum"> 1279 </span> :<span class="lineNoCov"> 0 : HDIF_iarray_for_each(array, i, feature) {</span></a> +<a name="1280"><span class="lineNum"> 1280 </span> : : struct dt_node *n;</a> +<a name="1281"><span class="lineNum"> 1281 </span> : : uint64_t flags;</a> +<a name="1282"><span class="lineNum"> 1282 </span> : : </a> +<a name="1283"><span class="lineNum"> 1283 </span> : : /* the name field isn't necessarily null terminated */</a> +<a name="1284"><span class="lineNum"> 1284 </span> : : BUILD_ASSERT(sizeof(name) > sizeof(feature->name));</a> +<a name="1285"><span class="lineNum"> 1285 </span> :<span class="lineNoCov"> 0 : strncpy(name, feature->name, sizeof(name)-1);</span></a> +<a name="1286"><span class="lineNum"> 1286 </span> :<span class="lineNoCov"> 0 : name[sizeof(name)-1] = '\0';</span></a> +<a name="1287"><span class="lineNum"> 1287 </span> :<span class="lineNoCov"> 0 : flags = be64_to_cpu(feature->flags);</span></a> +<a name="1288"><span class="lineNum"> 1288 </span> : : </a> +<a name="1289"><span class="lineNum"> 1289 </span> :<span class="lineNoCov"> 0 : if (strlen(name) == 0) {</span></a> +<a name="1290"><span class="lineNum"> 1290 </span> :<span class="lineNoCov"> 0 : prlog(PR_DEBUG, "IPLPARAMS: FW feature name is NULL\n");</span></a> +<a name="1291"><span class="lineNum"> 1291 </span> :<span class="lineNoCov"> 0 : continue;</span></a> +<a name="1292"><span class="lineNum"> 1292 </span> : : }</a> +<a name="1293"><span class="lineNum"> 1293 </span> : : </a> +<a name="1294"><span class="lineNum"> 1294 </span> :<span class="lineNoCov"> 0 : prlog(PR_DEBUG, "IPLPARAMS: FW feature %s = %016"PRIx64"\n",</span></a> +<a name="1295"><span class="lineNum"> 1295 </span> : : name, flags);</a> <a name="1296"><span class="lineNum"> 1296 </span> : : </a> -<a name="1297"><span class="lineNum"> 1297 </span> :<span class="lineCov"> 2 : dt_add_property_cells(ser_node, "reg", rsrc_id);</span></a> -<a name="1298"><span class="lineNum"> 1298 </span> :<span class="lineCov"> 2 : dt_add_property_nstr(ser_node, "ibm,loc-code",</span></a> -<a name="1299"><span class="lineNum"> 1299 </span> :<span class="lineCov"> 2 : ipser->loc_code, LOC_CODE_SIZE);</span></a> -<a name="1300"><span class="lineNum"> 1300 </span> :<span class="lineCov"> 2 : dt_add_property_string(ser_node, "compatible",</span></a> -<a name="1301"><span class="lineNum"> 1301 </span> : : "ibm,fsp-serial");</a> -<a name="1302"><span class="lineNum"> 1302 </span> : : /* XXX handle CALLHOME flag ? */</a> -<a name="1303"><span class="lineNum"> 1303 </span> : : }</a> -<a name="1304"><span class="lineNum"> 1304 </span> : : }</a> -<a name="1305"><span class="lineNum"> 1305 </span> : : </a> -<a name="1306"><span class="lineNum"> 1306 </span> : : /*</a> -<a name="1307"><span class="lineNum"> 1307 </span> : : * Check for platform dump, if present populate DT</a> -<a name="1308"><span class="lineNum"> 1308 </span> : : */</a> -<a name="1309"><span class="lineNum"> 1309 </span> :<span class="lineCov"> 2 : static void add_iplparams_platform_dump(const void *iplp, struct dt_node *node)</span></a> -<a name="1310"><span class="lineNum"> 1310 </span> : : {</a> -<a name="1311"><span class="lineNum"> 1311 </span> : : const struct iplparams_dump *ipl_dump;</a> -<a name="1312"><span class="lineNum"> 1312 </span> : : </a> -<a name="1313"><span class="lineNum"> 1313 </span> :<span class="lineCov"> 2 : ipl_dump = HDIF_get_idata(iplp, IPLPARAMS_PLATFORM_DUMP, NULL);</span></a> -<a name="1314"><span class="lineNum"> 1314 </span> :<span class="lineCov"> 2 : if (!CHECK_SPPTR(ipl_dump))</span></a> -<a name="1315"><span class="lineNum"> 1315 </span> :<span class="lineNoCov"> 0 : return;</span></a> -<a name="1316"><span class="lineNum"> 1316 </span> : : </a> -<a name="1317"><span class="lineNum"> 1317 </span> :<span class="lineCov"> 2 : node = dt_new(node, "platform-dump");</span></a> -<a name="1318"><span class="lineNum"> 1318 </span> :<span class="lineCov"> 2 : assert(node);</span></a> -<a name="1319"><span class="lineNum"> 1319 </span> : : </a> -<a name="1320"><span class="lineNum"> 1320 </span> :<span class="lineCov"> 2 : if (be32_to_cpu(ipl_dump->dump_id)) {</span></a> -<a name="1321"><span class="lineNum"> 1321 </span> :<span class="lineNoCov"> 0 : dt_add_property_cells(node, "dump-id",</span></a> -<a name="1322"><span class="lineNum"> 1322 </span> : : be32_to_cpu(ipl_dump->dump_id));</a> -<a name="1323"><span class="lineNum"> 1323 </span> :<span class="lineNoCov"> 0 : dt_add_property_u64(node, "total-size",</span></a> -<a name="1324"><span class="lineNum"> 1324 </span> :<span class="lineNoCov"> 0 : be64_to_cpu(ipl_dump->act_dump_sz));</span></a> -<a name="1325"><span class="lineNum"> 1325 </span> :<span class="lineNoCov"> 0 : dt_add_property_u64(node, "hw-dump-size",</span></a> -<a name="1326"><span class="lineNum"> 1326 </span> :<span class="lineNoCov"> 0 : be32_to_cpu(ipl_dump->act_hw_dump_sz));</span></a> -<a name="1327"><span class="lineNum"> 1327 </span> :<span class="lineNoCov"> 0 : dt_add_property_cells(node, "plog-id",</span></a> -<a name="1328"><span class="lineNum"> 1328 </span> : : be32_to_cpu(ipl_dump->plid));</a> -<a name="1329"><span class="lineNum"> 1329 </span> : : }</a> -<a name="1330"><span class="lineNum"> 1330 </span> : : }</a> -<a name="1331"><span class="lineNum"> 1331 </span> : : </a> -<a name="1332"><span class="lineNum"> 1332 </span> :<span class="lineCov"> 2 : static void add_iplparams_features(const struct HDIF_common_hdr *iplp)</span></a> -<a name="1333"><span class="lineNum"> 1333 </span> : : {</a> -<a name="1334"><span class="lineNum"> 1334 </span> : : const struct iplparams_feature *feature;</a> -<a name="1335"><span class="lineNum"> 1335 </span> : : const struct HDIF_array_hdr *array;</a> -<a name="1336"><span class="lineNum"> 1336 </span> : : struct dt_node *fw_features;</a> -<a name="1337"><span class="lineNum"> 1337 </span> : : unsigned int count, i;</a> -<a name="1338"><span class="lineNum"> 1338 </span> : : char name[65];</a> -<a name="1339"><span class="lineNum"> 1339 </span> : : </a> -<a name="1340"><span class="lineNum"> 1340 </span> :<span class="lineCov"> 2 : array = HDIF_get_iarray(iplp, IPLPARAMS_FEATURES, &count);</span></a> -<a name="1341"><span class="lineNum"> 1341 </span> :<span class="lineCov"> 2 : if (!array || !count)</span></a> -<a name="1342"><span class="lineNum"> 1342 </span> :<span class="lineCov"> 2 : return;</span></a> -<a name="1343"><span class="lineNum"> 1343 </span> : : </a> -<a name="1344"><span class="lineNum"> 1344 </span> :<span class="lineNoCov"> 0 : opal_node = dt_new_check(dt_root, "ibm,opal");</span></a> -<a name="1345"><span class="lineNum"> 1345 </span> :<span class="lineNoCov"> 0 : fw_features = dt_new(opal_node, "fw-features");</span></a> -<a name="1346"><span class="lineNum"> 1346 </span> :<span class="lineNoCov"> 0 : if (!fw_features)</span></a> -<a name="1347"><span class="lineNum"> 1347 </span> :<span class="lineNoCov"> 0 : return;</span></a> -<a name="1348"><span class="lineNum"> 1348 </span> : : </a> -<a name="1349"><span class="lineNum"> 1349 </span> :<span class="lineNoCov"> 0 : HDIF_iarray_for_each(array, i, feature) {</span></a> -<a name="1350"><span class="lineNum"> 1350 </span> : : struct dt_node *n;</a> -<a name="1351"><span class="lineNum"> 1351 </span> : : uint64_t flags;</a> -<a name="1352"><span class="lineNum"> 1352 </span> : : </a> -<a name="1353"><span class="lineNum"> 1353 </span> : : /* the name field isn't necessarily null terminated */</a> -<a name="1354"><span class="lineNum"> 1354 </span> : : BUILD_ASSERT(sizeof(name) > sizeof(feature->name));</a> -<a name="1355"><span class="lineNum"> 1355 </span> :<span class="lineNoCov"> 0 : strncpy(name, feature->name, sizeof(name)-1);</span></a> -<a name="1356"><span class="lineNum"> 1356 </span> :<span class="lineNoCov"> 0 : name[sizeof(name)-1] = '\0';</span></a> -<a name="1357"><span class="lineNum"> 1357 </span> :<span class="lineNoCov"> 0 : flags = be64_to_cpu(feature->flags);</span></a> -<a name="1358"><span class="lineNum"> 1358 </span> : : </a> -<a name="1359"><span class="lineNum"> 1359 </span> :<span class="lineNoCov"> 0 : if (strlen(name) == 0) {</span></a> -<a name="1360"><span class="lineNum"> 1360 </span> :<span class="lineNoCov"> 0 : prlog(PR_DEBUG, "IPLPARAMS: FW feature name is NULL\n");</span></a> -<a name="1361"><span class="lineNum"> 1361 </span> :<span class="lineNoCov"> 0 : continue;</span></a> -<a name="1362"><span class="lineNum"> 1362 </span> : : }</a> -<a name="1363"><span class="lineNum"> 1363 </span> : : </a> -<a name="1364"><span class="lineNum"> 1364 </span> :<span class="lineNoCov"> 0 : prlog(PR_DEBUG, "IPLPARAMS: FW feature %s = %016"PRIx64"\n",</span></a> -<a name="1365"><span class="lineNum"> 1365 </span> : : name, flags);</a> -<a name="1366"><span class="lineNum"> 1366 </span> : : </a> -<a name="1367"><span class="lineNum"> 1367 </span> : : /* get rid of tm-suspend-mode-enabled being disabled */</a> -<a name="1368"><span class="lineNum"> 1368 </span> :<span class="lineNoCov"> 0 : if (strcmp(name, "tm-suspend-mode-enabled") == 0)</span></a> -<a name="1369"><span class="lineNum"> 1369 </span> :<span class="lineNoCov"> 0 : strcpy(name, "tm-suspend-mode");</span></a> -<a name="1370"><span class="lineNum"> 1370 </span> : : </a> -<a name="1371"><span class="lineNum"> 1371 </span> :<span class="lineNoCov"> 0 : n = dt_new(fw_features, name);</span></a> +<a name="1297"><span class="lineNum"> 1297 </span> : : /* get rid of tm-suspend-mode-enabled being disabled */</a> +<a name="1298"><span class="lineNum"> 1298 </span> :<span class="lineNoCov"> 0 : if (strcmp(name, "tm-suspend-mode-enabled") == 0)</span></a> +<a name="1299"><span class="lineNum"> 1299 </span> :<span class="lineNoCov"> 0 : strcpy(name, "tm-suspend-mode");</span></a> +<a name="1300"><span class="lineNum"> 1300 </span> : : </a> +<a name="1301"><span class="lineNum"> 1301 </span> :<span class="lineNoCov"> 0 : n = dt_new(fw_features, name);</span></a> +<a name="1302"><span class="lineNum"> 1302 </span> : : </a> +<a name="1303"><span class="lineNum"> 1303 </span> : : /*</a> +<a name="1304"><span class="lineNum"> 1304 </span> : : * This is a bit overkill, but we'll want seperate properties</a> +<a name="1305"><span class="lineNum"> 1305 </span> : : * for each flag bit(s).</a> +<a name="1306"><span class="lineNum"> 1306 </span> : : */</a> +<a name="1307"><span class="lineNum"> 1307 </span> :<span class="lineNoCov"> 0 : if (flags & PPC_BIT(0))</span></a> +<a name="1308"><span class="lineNum"> 1308 </span> :<span class="lineNoCov"> 0 : dt_add_property(n, "enabled", NULL, 0);</span></a> +<a name="1309"><span class="lineNum"> 1309 </span> : : else</a> +<a name="1310"><span class="lineNum"> 1310 </span> :<span class="lineNoCov"> 0 : dt_add_property(n, "disabled", NULL, 0);</span></a> +<a name="1311"><span class="lineNum"> 1311 </span> : : }</a> +<a name="1312"><span class="lineNum"> 1312 </span> : : }</a> +<a name="1313"><span class="lineNum"> 1313 </span> : : </a> +<a name="1314"><span class="lineNum"> 1314 </span> :<span class="lineCov"> 1 : static void add_iplparams(void)</span></a> +<a name="1315"><span class="lineNum"> 1315 </span> : : {</a> +<a name="1316"><span class="lineNum"> 1316 </span> : : struct dt_node *iplp_node;</a> +<a name="1317"><span class="lineNum"> 1317 </span> : : const void *ipl_parms;</a> +<a name="1318"><span class="lineNum"> 1318 </span> : : </a> +<a name="1319"><span class="lineNum"> 1319 </span> :<span class="lineCov"> 1 : ipl_parms = get_hdif(&spiras->ntuples.ipl_parms, "IPLPMS");</span></a> +<a name="1320"><span class="lineNum"> 1320 </span> :<span class="lineCov"> 1 : if (!ipl_parms) {</span></a> +<a name="1321"><span class="lineNum"> 1321 </span> :<span class="lineNoCov"> 0 : prerror("IPLPARAMS: Cannot find IPL Parms in SPIRA\n");</span></a> +<a name="1322"><span class="lineNum"> 1322 </span> :<span class="lineNoCov"> 0 : return;</span></a> +<a name="1323"><span class="lineNum"> 1323 </span> : : }</a> +<a name="1324"><span class="lineNum"> 1324 </span> : : </a> +<a name="1325"><span class="lineNum"> 1325 </span> :<span class="lineCov"> 1 : iplp_node = dt_new(dt_root, "ipl-params");</span></a> +<a name="1326"><span class="lineNum"> 1326 </span> :<span class="lineCov"> 1 : assert(iplp_node);</span></a> +<a name="1327"><span class="lineNum"> 1327 </span> :<span class="lineCov"> 1 : dt_add_property_cells(iplp_node, "#address-cells", 0);</span></a> +<a name="1328"><span class="lineNum"> 1328 </span> :<span class="lineCov"> 1 : dt_add_property_cells(iplp_node, "#size-cells", 0);</span></a> +<a name="1329"><span class="lineNum"> 1329 </span> : : </a> +<a name="1330"><span class="lineNum"> 1330 </span> :<span class="lineCov"> 1 : add_iplparams_sys_params(ipl_parms, iplp_node);</span></a> +<a name="1331"><span class="lineNum"> 1331 </span> :<span class="lineCov"> 1 : add_iplparams_ipl_params(ipl_parms, iplp_node);</span></a> +<a name="1332"><span class="lineNum"> 1332 </span> :<span class="lineCov"> 1 : add_iplparams_serials(ipl_parms, iplp_node);</span></a> +<a name="1333"><span class="lineNum"> 1333 </span> :<span class="lineCov"> 1 : add_iplparams_platform_dump(ipl_parms, iplp_node);</span></a> +<a name="1334"><span class="lineNum"> 1334 </span> :<span class="lineCov"> 1 : add_iplparams_features(ipl_parms);</span></a> +<a name="1335"><span class="lineNum"> 1335 </span> : : }</a> +<a name="1336"><span class="lineNum"> 1336 </span> : : </a> +<a name="1337"><span class="lineNum"> 1337 </span> : : /* Various structure contain a "proc_chip_id" which is an arbitrary</a> +<a name="1338"><span class="lineNum"> 1338 </span> : : * numbering used by HDAT to reference chips, which doesn't correspond</a> +<a name="1339"><span class="lineNum"> 1339 </span> : : * to the HW IDs. We want to use the HW IDs everywhere in the DT so</a> +<a name="1340"><span class="lineNum"> 1340 </span> : : * we convert using this.</a> +<a name="1341"><span class="lineNum"> 1341 </span> : : */</a> +<a name="1342"><span class="lineNum"> 1342 </span> :<span class="lineCov"> 17 : uint32_t pcid_to_chip_id(uint32_t proc_chip_id)</span></a> +<a name="1343"><span class="lineNum"> 1343 </span> : : {</a> +<a name="1344"><span class="lineNum"> 1344 </span> : : unsigned int i;</a> +<a name="1345"><span class="lineNum"> 1345 </span> : : const void *hdif;</a> +<a name="1346"><span class="lineNum"> 1346 </span> : : </a> +<a name="1347"><span class="lineNum"> 1347 </span> : : /* First, try the proc_chip ntuples for chip data */</a> +<a name="1348"><span class="lineNum"> 1348 </span> :<span class="lineCov"> 22 : for_each_ntuple_idx(&spiras->ntuples.proc_chip, hdif, i,</span></a> +<a name="1349"><span class="lineNum"> 1349 </span> : : SPPCRD_HDIF_SIG) {</a> +<a name="1350"><span class="lineNum"> 1350 </span> : : const struct sppcrd_chip_info *cinfo;</a> +<a name="1351"><span class="lineNum"> 1351 </span> : : </a> +<a name="1352"><span class="lineNum"> 1352 </span> :<span class="lineCov"> 22 : cinfo = HDIF_get_idata(hdif, SPPCRD_IDATA_CHIP_INFO,</span></a> +<a name="1353"><span class="lineNum"> 1353 </span> : : NULL);</a> +<a name="1354"><span class="lineNum"> 1354 </span> :<span class="lineCov"> 22 : if (!CHECK_SPPTR(cinfo)) {</span></a> +<a name="1355"><span class="lineNum"> 1355 </span> :<span class="lineNoCov"> 0 : prerror("XSCOM: Bad ChipID data %d\n", i);</span></a> +<a name="1356"><span class="lineNum"> 1356 </span> :<span class="lineNoCov"> 0 : continue;</span></a> +<a name="1357"><span class="lineNum"> 1357 </span> : : }</a> +<a name="1358"><span class="lineNum"> 1358 </span> :<span class="lineCov"> 22 : if (proc_chip_id == be32_to_cpu(cinfo->proc_chip_id))</span></a> +<a name="1359"><span class="lineNum"> 1359 </span> :<span class="lineCov"> 17 : return get_xscom_id(cinfo);</span></a> +<a name="1360"><span class="lineNum"> 1360 </span> : : }</a> +<a name="1361"><span class="lineNum"> 1361 </span> : : </a> +<a name="1362"><span class="lineNum"> 1362 </span> : : /* Not found, what to do ? Assert ? For now return a number</a> +<a name="1363"><span class="lineNum"> 1363 </span> : : * guaranteed to not exist</a> +<a name="1364"><span class="lineNum"> 1364 </span> : : */</a> +<a name="1365"><span class="lineNum"> 1365 </span> :<span class="lineNoCov"> 0 : return (uint32_t)-1;</span></a> +<a name="1366"><span class="lineNum"> 1366 </span> : : }</a> +<a name="1367"><span class="lineNum"> 1367 </span> : : </a> +<a name="1368"><span class="lineNum"> 1368 </span> :<span class="lineNoCov"> 0 : uint32_t pcid_to_topology_idx(uint32_t proc_chip_id)</span></a> +<a name="1369"><span class="lineNum"> 1369 </span> : : {</a> +<a name="1370"><span class="lineNum"> 1370 </span> : : unsigned int i;</a> +<a name="1371"><span class="lineNum"> 1371 </span> : : const void *hdif;</a> <a name="1372"><span class="lineNum"> 1372 </span> : : </a> -<a name="1373"><span class="lineNum"> 1373 </span> : : /*</a> -<a name="1374"><span class="lineNum"> 1374 </span> : : * This is a bit overkill, but we'll want seperate properties</a> -<a name="1375"><span class="lineNum"> 1375 </span> : : * for each flag bit(s).</a> -<a name="1376"><span class="lineNum"> 1376 </span> : : */</a> -<a name="1377"><span class="lineNum"> 1377 </span> :<span class="lineNoCov"> 0 : if (flags & PPC_BIT(0))</span></a> -<a name="1378"><span class="lineNum"> 1378 </span> :<span class="lineNoCov"> 0 : dt_add_property(n, "enabled", NULL, 0);</span></a> -<a name="1379"><span class="lineNum"> 1379 </span> : : else</a> -<a name="1380"><span class="lineNum"> 1380 </span> :<span class="lineNoCov"> 0 : dt_add_property(n, "disabled", NULL, 0);</span></a> -<a name="1381"><span class="lineNum"> 1381 </span> : : }</a> -<a name="1382"><span class="lineNum"> 1382 </span> : : }</a> -<a name="1383"><span class="lineNum"> 1383 </span> : : </a> -<a name="1384"><span class="lineNum"> 1384 </span> :<span class="lineCov"> 2 : static void add_iplparams(void)</span></a> -<a name="1385"><span class="lineNum"> 1385 </span> : : {</a> -<a name="1386"><span class="lineNum"> 1386 </span> : : struct dt_node *iplp_node;</a> -<a name="1387"><span class="lineNum"> 1387 </span> : : const void *ipl_parms;</a> -<a name="1388"><span class="lineNum"> 1388 </span> : : </a> -<a name="1389"><span class="lineNum"> 1389 </span> :<span class="lineCov"> 2 : ipl_parms = get_hdif(&spira.ntuples.ipl_parms, "IPLPMS");</span></a> -<a name="1390"><span class="lineNum"> 1390 </span> :<span class="lineCov"> 2 : if (!ipl_parms) {</span></a> -<a name="1391"><span class="lineNum"> 1391 </span> :<span class="lineNoCov"> 0 : prerror("IPLPARAMS: Cannot find IPL Parms in SPIRA\n");</span></a> -<a name="1392"><span class="lineNum"> 1392 </span> :<span class="lineNoCov"> 0 : return;</span></a> -<a name="1393"><span class="lineNum"> 1393 </span> : : }</a> -<a name="1394"><span class="lineNum"> 1394 </span> : : </a> -<a name="1395"><span class="lineNum"> 1395 </span> :<span class="lineCov"> 2 : iplp_node = dt_new(dt_root, "ipl-params");</span></a> -<a name="1396"><span class="lineNum"> 1396 </span> :<span class="lineCov"> 2 : assert(iplp_node);</span></a> -<a name="1397"><span class="lineNum"> 1397 </span> :<span class="lineCov"> 2 : dt_add_property_cells(iplp_node, "#address-cells", 0);</span></a> -<a name="1398"><span class="lineNum"> 1398 </span> :<span class="lineCov"> 2 : dt_add_property_cells(iplp_node, "#size-cells", 0);</span></a> -<a name="1399"><span class="lineNum"> 1399 </span> : : </a> -<a name="1400"><span class="lineNum"> 1400 </span> :<span class="lineCov"> 2 : add_iplparams_sys_params(ipl_parms, iplp_node);</span></a> -<a name="1401"><span class="lineNum"> 1401 </span> :<span class="lineCov"> 2 : add_iplparams_ipl_params(ipl_parms, iplp_node);</span></a> -<a name="1402"><span class="lineNum"> 1402 </span> :<span class="lineCov"> 2 : add_iplparams_serials(ipl_parms, iplp_node);</span></a> -<a name="1403"><span class="lineNum"> 1403 </span> :<span class="lineCov"> 2 : add_iplparams_platform_dump(ipl_parms, iplp_node);</span></a> -<a name="1404"><span class="lineNum"> 1404 </span> :<span class="lineCov"> 2 : add_iplparams_features(ipl_parms);</span></a> -<a name="1405"><span class="lineNum"> 1405 </span> : : }</a> +<a name="1373"><span class="lineNum"> 1373 </span> : : /* First, try the proc_chip ntuples for chip data */</a> +<a name="1374"><span class="lineNum"> 1374 </span> :<span class="lineNoCov"> 0 : for_each_ntuple_idx(&spiras->ntuples.proc_chip, hdif, i,</span></a> +<a name="1375"><span class="lineNum"> 1375 </span> : : SPPCRD_HDIF_SIG) {</a> +<a name="1376"><span class="lineNum"> 1376 </span> : : const struct sppcrd_chip_info *cinfo;</a> +<a name="1377"><span class="lineNum"> 1377 </span> : : </a> +<a name="1378"><span class="lineNum"> 1378 </span> :<span class="lineNoCov"> 0 : cinfo = HDIF_get_idata(hdif, SPPCRD_IDATA_CHIP_INFO, NULL);</span></a> +<a name="1379"><span class="lineNum"> 1379 </span> :<span class="lineNoCov"> 0 : if (!CHECK_SPPTR(cinfo)) {</span></a> +<a name="1380"><span class="lineNum"> 1380 </span> :<span class="lineNoCov"> 0 : prerror("XSCOM: Bad ChipID data %d\n", i);</span></a> +<a name="1381"><span class="lineNum"> 1381 </span> :<span class="lineNoCov"> 0 : continue;</span></a> +<a name="1382"><span class="lineNum"> 1382 </span> : : }</a> +<a name="1383"><span class="lineNum"> 1383 </span> :<span class="lineNoCov"> 0 : if (proc_chip_id == be32_to_cpu(cinfo->proc_chip_id)) {</span></a> +<a name="1384"><span class="lineNum"> 1384 </span> :<span class="lineNoCov"> 0 : if (proc_gen <= proc_gen_p9)</span></a> +<a name="1385"><span class="lineNum"> 1385 </span> :<span class="lineNoCov"> 0 : return get_xscom_id(cinfo);</span></a> +<a name="1386"><span class="lineNum"> 1386 </span> : : else</a> +<a name="1387"><span class="lineNum"> 1387 </span> :<span class="lineNoCov"> 0 : return ((u32)cinfo->topology_id_table[cinfo->primary_topology_loc]);</span></a> +<a name="1388"><span class="lineNum"> 1388 </span> : : }</a> +<a name="1389"><span class="lineNum"> 1389 </span> : : }</a> +<a name="1390"><span class="lineNum"> 1390 </span> : : </a> +<a name="1391"><span class="lineNum"> 1391 </span> : : /* Not found, what to do ? Assert ? For now return a number</a> +<a name="1392"><span class="lineNum"> 1392 </span> : : * guaranteed to not exist</a> +<a name="1393"><span class="lineNum"> 1393 </span> : : */</a> +<a name="1394"><span class="lineNum"> 1394 </span> :<span class="lineNoCov"> 0 : return (uint32_t)-1;</span></a> +<a name="1395"><span class="lineNum"> 1395 </span> : : }</a> +<a name="1396"><span class="lineNum"> 1396 </span> : : /* Create '/ibm,opal/led' node */</a> +<a name="1397"><span class="lineNum"> 1397 </span> :<span class="lineCov"> 1 : static void dt_init_led_node(void)</span></a> +<a name="1398"><span class="lineNum"> 1398 </span> : : {</a> +<a name="1399"><span class="lineNum"> 1399 </span> : : struct dt_node *led_node;</a> +<a name="1400"><span class="lineNum"> 1400 </span> : : </a> +<a name="1401"><span class="lineNum"> 1401 </span> : : /* Create /ibm,opal node, if its not created already */</a> +<a name="1402"><span class="lineNum"> 1402 </span> :<span class="lineCov"> 1 : if (!opal_node) {</span></a> +<a name="1403"><span class="lineNum"> 1403 </span> :<span class="lineCov"> 1 : opal_node = dt_new(dt_root, "ibm,opal");</span></a> +<a name="1404"><span class="lineNum"> 1404 </span> :<span class="lineCov"> 1 : assert(opal_node);</span></a> +<a name="1405"><span class="lineNum"> 1405 </span> : : }</a> <a name="1406"><span class="lineNum"> 1406 </span> : : </a> -<a name="1407"><span class="lineNum"> 1407 </span> : : /* Various structure contain a "proc_chip_id" which is an arbitrary</a> -<a name="1408"><span class="lineNum"> 1408 </span> : : * numbering used by HDAT to reference chips, which doesn't correspond</a> -<a name="1409"><span class="lineNum"> 1409 </span> : : * to the HW IDs. We want to use the HW IDs everywhere in the DT so</a> -<a name="1410"><span class="lineNum"> 1410 </span> : : * we convert using this.</a> -<a name="1411"><span class="lineNum"> 1411 </span> : : */</a> -<a name="1412"><span class="lineNum"> 1412 </span> :<span class="lineCov"> 79 : uint32_t pcid_to_chip_id(uint32_t proc_chip_id)</span></a> +<a name="1407"><span class="lineNum"> 1407 </span> : : /* Crete LED parent node */</a> +<a name="1408"><span class="lineNum"> 1408 </span> :<span class="lineCov"> 1 : led_node = dt_new(opal_node, DT_PROPERTY_LED_NODE);</span></a> +<a name="1409"><span class="lineNum"> 1409 </span> :<span class="lineCov"> 1 : assert(led_node);</span></a> +<a name="1410"><span class="lineNum"> 1410 </span> :<span class="lineCov"> 1 : }</span></a> +<a name="1411"><span class="lineNum"> 1411 </span> : : </a> +<a name="1412"><span class="lineNum"> 1412 </span> :<span class="lineCov"> 1 : static void hostservices_parse(void)</span></a> <a name="1413"><span class="lineNum"> 1413 </span> : : {</a> -<a name="1414"><span class="lineNum"> 1414 </span> : : unsigned int i;</a> -<a name="1415"><span class="lineNum"> 1415 </span> : : const void *hdif;</a> -<a name="1416"><span class="lineNum"> 1416 </span> : : </a> -<a name="1417"><span class="lineNum"> 1417 </span> : : /* First, try the proc_chip ntuples for chip data */</a> -<a name="1418"><span class="lineNum"> 1418 </span> :<span class="lineCov"> 150 : for_each_ntuple_idx(&spira.ntuples.proc_chip, hdif, i,</span></a> -<a name="1419"><span class="lineNum"> 1419 </span> : : SPPCRD_HDIF_SIG) {</a> -<a name="1420"><span class="lineNum"> 1420 </span> : : const struct sppcrd_chip_info *cinfo;</a> -<a name="1421"><span class="lineNum"> 1421 </span> : : </a> -<a name="1422"><span class="lineNum"> 1422 </span> :<span class="lineCov"> 150 : cinfo = HDIF_get_idata(hdif, SPPCRD_IDATA_CHIP_INFO,</span></a> -<a name="1423"><span class="lineNum"> 1423 </span> : : NULL);</a> -<a name="1424"><span class="lineNum"> 1424 </span> :<span class="lineCov"> 150 : if (!CHECK_SPPTR(cinfo)) {</span></a> -<a name="1425"><span class="lineNum"> 1425 </span> :<span class="lineNoCov"> 0 : prerror("XSCOM: Bad ChipID data %d\n", i);</span></a> -<a name="1426"><span class="lineNum"> 1426 </span> :<span class="lineNoCov"> 0 : continue;</span></a> -<a name="1427"><span class="lineNum"> 1427 </span> : : }</a> -<a name="1428"><span class="lineNum"> 1428 </span> :<span class="lineCov"> 150 : if (proc_chip_id == be32_to_cpu(cinfo->proc_chip_id))</span></a> -<a name="1429"><span class="lineNum"> 1429 </span> :<span class="lineCov"> 79 : return get_xscom_id(cinfo);</span></a> +<a name="1414"><span class="lineNum"> 1414 </span> : : struct HDIF_common_hdr *hs_hdr;</a> +<a name="1415"><span class="lineNum"> 1415 </span> : : const void *dt_blob;</a> +<a name="1416"><span class="lineNum"> 1416 </span> : : unsigned int size;</a> +<a name="1417"><span class="lineNum"> 1417 </span> : : unsigned int ntuples_size;</a> +<a name="1418"><span class="lineNum"> 1418 </span> : : </a> +<a name="1419"><span class="lineNum"> 1419 </span> : : /* Deprecated on P9 */</a> +<a name="1420"><span class="lineNum"> 1420 </span> :<span class="lineCov"> 1 : if (proc_gen >= proc_gen_p9)</span></a> +<a name="1421"><span class="lineNum"> 1421 </span> :<span class="lineNoCov"> 0 : return;</span></a> +<a name="1422"><span class="lineNum"> 1422 </span> : : </a> +<a name="1423"><span class="lineNum"> 1423 </span> :<span class="lineCov"> 1 : ntuples_size = sizeof(struct HDIF_array_hdr) + </span></a> +<a name="1424"><span class="lineNum"> 1424 </span> :<span class="lineCov"> 1 : be32_to_cpu(spiras->ntuples.array_hdr.ecnt) *</span></a> +<a name="1425"><span class="lineNum"> 1425 </span> : : sizeof(struct spira_ntuple);</a> +<a name="1426"><span class="lineNum"> 1426 </span> : : </a> +<a name="1427"><span class="lineNum"> 1427 </span> :<span class="lineCov"> 1 : if (offsetof(struct spiras_ntuples, hs_data) >= ntuples_size) {</span></a> +<a name="1428"><span class="lineNum"> 1428 </span> :<span class="lineNoCov"> 0 : prerror("SPIRA: No host services data found\n");</span></a> +<a name="1429"><span class="lineNum"> 1429 </span> :<span class="lineNoCov"> 0 : return;</span></a> <a name="1430"><span class="lineNum"> 1430 </span> : : }</a> <a name="1431"><span class="lineNum"> 1431 </span> : : </a> -<a name="1432"><span class="lineNum"> 1432 </span> : : /* Not found, what to do ? Assert ? For now return a number</a> -<a name="1433"><span class="lineNum"> 1433 </span> : : * guaranteed to not exist</a> -<a name="1434"><span class="lineNum"> 1434 </span> : : */</a> -<a name="1435"><span class="lineNum"> 1435 </span> :<span class="lineNoCov"> 0 : return (uint32_t)-1;</span></a> -<a name="1436"><span class="lineNum"> 1436 </span> : : }</a> +<a name="1432"><span class="lineNum"> 1432 </span> :<span class="lineCov"> 1 : hs_hdr = get_hdif(&spiras->ntuples.hs_data, HSERV_HDIF_SIG);</span></a> +<a name="1433"><span class="lineNum"> 1433 </span> :<span class="lineCov"> 1 : if (!hs_hdr) {</span></a> +<a name="1434"><span class="lineNum"> 1434 </span> :<span class="lineNoCov"> 0 : prerror("SPIRA: No host services data found\n");</span></a> +<a name="1435"><span class="lineNum"> 1435 </span> :<span class="lineNoCov"> 0 : return;</span></a> +<a name="1436"><span class="lineNum"> 1436 </span> : : }</a> <a name="1437"><span class="lineNum"> 1437 </span> : : </a> -<a name="1438"><span class="lineNum"> 1438 </span> :<span class="lineNoCov"> 0 : uint32_t pcid_to_topology_idx(uint32_t proc_chip_id)</span></a> -<a name="1439"><span class="lineNum"> 1439 </span> : : {</a> -<a name="1440"><span class="lineNum"> 1440 </span> : : unsigned int i;</a> -<a name="1441"><span class="lineNum"> 1441 </span> : : const void *hdif;</a> -<a name="1442"><span class="lineNum"> 1442 </span> : : </a> -<a name="1443"><span class="lineNum"> 1443 </span> : : /* First, try the proc_chip ntuples for chip data */</a> -<a name="1444"><span class="lineNum"> 1444 </span> :<span class="lineNoCov"> 0 : for_each_ntuple_idx(&spira.ntuples.proc_chip, hdif, i,</span></a> -<a name="1445"><span class="lineNum"> 1445 </span> : : SPPCRD_HDIF_SIG) {</a> -<a name="1446"><span class="lineNum"> 1446 </span> : : const struct sppcrd_chip_info *cinfo;</a> -<a name="1447"><span class="lineNum"> 1447 </span> : : </a> -<a name="1448"><span class="lineNum"> 1448 </span> :<span class="lineNoCov"> 0 : cinfo = HDIF_get_idata(hdif, SPPCRD_IDATA_CHIP_INFO, NULL);</span></a> -<a name="1449"><span class="lineNum"> 1449 </span> :<span class="lineNoCov"> 0 : if (!CHECK_SPPTR(cinfo)) {</span></a> -<a name="1450"><span class="lineNum"> 1450 </span> :<span class="lineNoCov"> 0 : prerror("XSCOM: Bad ChipID data %d\n", i);</span></a> -<a name="1451"><span class="lineNum"> 1451 </span> :<span class="lineNoCov"> 0 : continue;</span></a> -<a name="1452"><span class="lineNum"> 1452 </span> : : }</a> -<a name="1453"><span class="lineNum"> 1453 </span> :<span class="lineNoCov"> 0 : if (proc_chip_id == be32_to_cpu(cinfo->proc_chip_id)) {</span></a> -<a name="1454"><span class="lineNum"> 1454 </span> :<span class="lineNoCov"> 0 : if (proc_gen <= proc_gen_p9)</span></a> -<a name="1455"><span class="lineNum"> 1455 </span> :<span class="lineNoCov"> 0 : return get_xscom_id(cinfo);</span></a> -<a name="1456"><span class="lineNum"> 1456 </span> : : else</a> -<a name="1457"><span class="lineNum"> 1457 </span> :<span class="lineNoCov"> 0 : return ((u32)cinfo->topology_id_table[cinfo->primary_topology_loc]);</span></a> -<a name="1458"><span class="lineNum"> 1458 </span> : : }</a> -<a name="1459"><span class="lineNum"> 1459 </span> : : }</a> -<a name="1460"><span class="lineNum"> 1460 </span> : : </a> -<a name="1461"><span class="lineNum"> 1461 </span> : : /* Not found, what to do ? Assert ? For now return a number</a> -<a name="1462"><span class="lineNum"> 1462 </span> : : * guaranteed to not exist</a> -<a name="1463"><span class="lineNum"> 1463 </span> : : */</a> -<a name="1464"><span class="lineNum"> 1464 </span> :<span class="lineNoCov"> 0 : return (uint32_t)-1;</span></a> -<a name="1465"><span class="lineNum"> 1465 </span> : : }</a> -<a name="1466"><span class="lineNum"> 1466 </span> : : /* Create '/ibm,opal/led' node */</a> -<a name="1467"><span class="lineNum"> 1467 </span> :<span class="lineCov"> 2 : static void dt_init_led_node(void)</span></a> -<a name="1468"><span class="lineNum"> 1468 </span> : : {</a> -<a name="1469"><span class="lineNum"> 1469 </span> : : struct dt_node *led_node;</a> -<a name="1470"><span class="lineNum"> 1470 </span> : : </a> -<a name="1471"><span class="lineNum"> 1471 </span> : : /* Create /ibm,opal node, if its not created already */</a> -<a name="1472"><span class="lineNum"> 1472 </span> :<span class="lineCov"> 2 : if (!opal_node) {</span></a> -<a name="1473"><span class="lineNum"> 1473 </span> :<span class="lineCov"> 2 : opal_node = dt_new(dt_root, "ibm,opal");</span></a> -<a name="1474"><span class="lineNum"> 1474 </span> :<span class="lineCov"> 2 : assert(opal_node);</span></a> -<a name="1475"><span class="lineNum"> 1475 </span> : : }</a> -<a name="1476"><span class="lineNum"> 1476 </span> : : </a> -<a name="1477"><span class="lineNum"> 1477 </span> : : /* Crete LED parent node */</a> -<a name="1478"><span class="lineNum"> 1478 </span> :<span class="lineCov"> 2 : led_node = dt_new(opal_node, DT_PROPERTY_LED_NODE);</span></a> -<a name="1479"><span class="lineNum"> 1479 </span> :<span class="lineCov"> 2 : assert(led_node);</span></a> -<a name="1480"><span class="lineNum"> 1480 </span> :<span class="lineCov"> 2 : }</span></a> -<a name="1481"><span class="lineNum"> 1481 </span> : : </a> -<a name="1482"><span class="lineNum"> 1482 </span> :<span class="lineCov"> 2 : static void hostservices_parse(void)</span></a> -<a name="1483"><span class="lineNum"> 1483 </span> : : {</a> -<a name="1484"><span class="lineNum"> 1484 </span> : : struct HDIF_common_hdr *hs_hdr;</a> -<a name="1485"><span class="lineNum"> 1485 </span> : : const void *dt_blob;</a> -<a name="1486"><span class="lineNum"> 1486 </span> : : unsigned int size;</a> -<a name="1487"><span class="lineNum"> 1487 </span> : : unsigned int ntuples_size;</a> +<a name="1438"><span class="lineNum"> 1438 </span> :<span class="lineCov"> 1 : dt_blob = HDIF_get_idata(hs_hdr, 0, &size);</span></a> +<a name="1439"><span class="lineNum"> 1439 </span> :<span class="lineCov"> 1 : if (!dt_blob) {</span></a> +<a name="1440"><span class="lineNum"> 1440 </span> :<span class="lineNoCov"> 0 : prerror("SPIRA: No host services idata found\n");</span></a> +<a name="1441"><span class="lineNum"> 1441 </span> :<span class="lineNoCov"> 0 : return;</span></a> +<a name="1442"><span class="lineNum"> 1442 </span> : : }</a> +<a name="1443"><span class="lineNum"> 1443 </span> :<span class="lineCov"> 1 : hservices_from_hdat(dt_blob, size);</span></a> +<a name="1444"><span class="lineNum"> 1444 </span> : : }</a> +<a name="1445"><span class="lineNum"> 1445 </span> : : </a> +<a name="1446"><span class="lineNum"> 1446 </span> :<span class="lineCov"> 1 : static void add_stop_levels(void)</span></a> +<a name="1447"><span class="lineNum"> 1447 </span> : : {</a> +<a name="1448"><span class="lineNum"> 1448 </span> :<span class="lineCov"> 1 : struct spira_ntuple *t = &spiras->ntuples.proc_chip;</span></a> +<a name="1449"><span class="lineNum"> 1449 </span> : : struct HDIF_common_hdr *hdif;</a> +<a name="1450"><span class="lineNum"> 1450 </span> :<span class="lineCov"> 1 : u32 stop_levels = ~0;</span></a> +<a name="1451"><span class="lineNum"> 1451 </span> :<span class="lineCov"> 1 : bool valid = false;</span></a> +<a name="1452"><span class="lineNum"> 1452 </span> : : int i;</a> +<a name="1453"><span class="lineNum"> 1453 </span> : : </a> +<a name="1454"><span class="lineNum"> 1454 </span> :<span class="lineCov"> 1 : if (proc_gen < proc_gen_p9)</span></a> +<a name="1455"><span class="lineNum"> 1455 </span> :<span class="lineCov"> 1 : return;</span></a> +<a name="1456"><span class="lineNum"> 1456 </span> : : </a> +<a name="1457"><span class="lineNum"> 1457 </span> : : /*</a> +<a name="1458"><span class="lineNum"> 1458 </span> : : * OPAL only exports a single set of flags to indicate the supported</a> +<a name="1459"><span class="lineNum"> 1459 </span> : : * STOP modes while the HDAT descibes the support top levels *per chip*</a> +<a name="1460"><span class="lineNum"> 1460 </span> : : * We parse the list of chips to find a common set of STOP levels to</a> +<a name="1461"><span class="lineNum"> 1461 </span> : : * export.</a> +<a name="1462"><span class="lineNum"> 1462 </span> : : */</a> +<a name="1463"><span class="lineNum"> 1463 </span> :<span class="lineNoCov"> 0 : for_each_ntuple_idx(t, hdif, i, SPPCRD_HDIF_SIG) {</span></a> +<a name="1464"><span class="lineNum"> 1464 </span> : : unsigned int size;</a> +<a name="1465"><span class="lineNum"> 1465 </span> : : const struct sppcrd_chip_info *cinfo =</a> +<a name="1466"><span class="lineNum"> 1466 </span> :<span class="lineNoCov"> 0 : HDIF_get_idata(hdif, SPPCRD_IDATA_CHIP_INFO, &size);</span></a> +<a name="1467"><span class="lineNum"> 1467 </span> : : u32 ve, chip_levels;</a> +<a name="1468"><span class="lineNum"> 1468 </span> : : </a> +<a name="1469"><span class="lineNum"> 1469 </span> :<span class="lineNoCov"> 0 : if (!cinfo)</span></a> +<a name="1470"><span class="lineNum"> 1470 </span> :<span class="lineNoCov"> 0 : continue;</span></a> +<a name="1471"><span class="lineNum"> 1471 </span> : : </a> +<a name="1472"><span class="lineNum"> 1472 </span> : : /*</a> +<a name="1473"><span class="lineNum"> 1473 </span> : : * If the chip info field is too small then assume we have no</a> +<a name="1474"><span class="lineNum"> 1474 </span> : : * STOP level information.</a> +<a name="1475"><span class="lineNum"> 1475 </span> : : */</a> +<a name="1476"><span class="lineNum"> 1476 </span> :<span class="lineNoCov"> 0 : if (size < 0x44) {</span></a> +<a name="1477"><span class="lineNum"> 1477 </span> :<span class="lineNoCov"> 0 : stop_levels = 0;</span></a> +<a name="1478"><span class="lineNum"> 1478 </span> :<span class="lineNoCov"> 0 : break;</span></a> +<a name="1479"><span class="lineNum"> 1479 </span> : : }</a> +<a name="1480"><span class="lineNum"> 1480 </span> : : </a> +<a name="1481"><span class="lineNum"> 1481 </span> :<span class="lineNoCov"> 0 : ve = be32_to_cpu(cinfo->verif_exist_flags) & CPU_ID_VERIFY_MASK;</span></a> +<a name="1482"><span class="lineNum"> 1482 </span> :<span class="lineNoCov"> 0 : ve >>= CPU_ID_VERIFY_SHIFT;</span></a> +<a name="1483"><span class="lineNum"> 1483 </span> :<span class="lineNoCov"> 0 : if (ve == CHIP_VERIFY_NOT_INSTALLED ||</span></a> +<a name="1484"><span class="lineNum"> 1484 </span> : : ve == CHIP_VERIFY_UNUSABLE)</a> +<a name="1485"><span class="lineNum"> 1485 </span> :<span class="lineNoCov"> 0 : continue;</span></a> +<a name="1486"><span class="lineNum"> 1486 </span> : : </a> +<a name="1487"><span class="lineNum"> 1487 </span> :<span class="lineNoCov"> 0 : chip_levels = be32_to_cpu(cinfo->stop_levels);</span></a> <a name="1488"><span class="lineNum"> 1488 </span> : : </a> -<a name="1489"><span class="lineNum"> 1489 </span> : : /* Deprecated on P9 */</a> -<a name="1490"><span class="lineNum"> 1490 </span> :<span class="lineCov"> 2 : if (proc_gen >= proc_gen_p9)</span></a> -<a name="1491"><span class="lineNum"> 1491 </span> :<span class="lineNoCov"> 0 : return;</span></a> -<a name="1492"><span class="lineNum"> 1492 </span> : : </a> -<a name="1493"><span class="lineNum"> 1493 </span> :<span class="lineCov"> 2 : ntuples_size = sizeof(struct HDIF_array_hdr) + </span></a> -<a name="1494"><span class="lineNum"> 1494 </span> :<span class="lineCov"> 2 : be32_to_cpu(spira.ntuples.array_hdr.ecnt) *</span></a> -<a name="1495"><span class="lineNum"> 1495 </span> : : sizeof(struct spira_ntuple);</a> -<a name="1496"><span class="lineNum"> 1496 </span> : : </a> -<a name="1497"><span class="lineNum"> 1497 </span> :<span class="lineCov"> 2 : if (offsetof(struct spira_ntuples, hs_data) >= ntuples_size) {</span></a> -<a name="1498"><span class="lineNum"> 1498 </span> :<span class="lineNoCov"> 0 : prerror("SPIRA: No host services data found\n");</span></a> -<a name="1499"><span class="lineNum"> 1499 </span> :<span class="lineNoCov"> 0 : return;</span></a> -<a name="1500"><span class="lineNum"> 1500 </span> : : }</a> -<a name="1501"><span class="lineNum"> 1501 </span> : : </a> -<a name="1502"><span class="lineNum"> 1502 </span> :<span class="lineCov"> 2 : hs_hdr = get_hdif(&spira.ntuples.hs_data, HSERV_HDIF_SIG);</span></a> -<a name="1503"><span class="lineNum"> 1503 </span> :<span class="lineCov"> 2 : if (!hs_hdr) {</span></a> -<a name="1504"><span class="lineNum"> 1504 </span> :<span class="lineNoCov"> 0 : prerror("SPIRA: No host services data found\n");</span></a> -<a name="1505"><span class="lineNum"> 1505 </span> :<span class="lineNoCov"> 0 : return;</span></a> -<a name="1506"><span class="lineNum"> 1506 </span> : : }</a> +<a name="1489"><span class="lineNum"> 1489 </span> :<span class="lineNoCov"> 0 : prlog(PR_INSANE, "CHIP[%x] supported STOP mask 0x%.8x\n",</span></a> +<a name="1490"><span class="lineNum"> 1490 </span> : : be32_to_cpu(cinfo->proc_chip_id), chip_levels);</a> +<a name="1491"><span class="lineNum"> 1491 </span> : : </a> +<a name="1492"><span class="lineNum"> 1492 </span> :<span class="lineNoCov"> 0 : stop_levels &= chip_levels;</span></a> +<a name="1493"><span class="lineNum"> 1493 </span> :<span class="lineNoCov"> 0 : valid = true;</span></a> +<a name="1494"><span class="lineNum"> 1494 </span> : : }</a> +<a name="1495"><span class="lineNum"> 1495 </span> : : </a> +<a name="1496"><span class="lineNum"> 1496 </span> :<span class="lineNoCov"> 0 : if (!valid)</span></a> +<a name="1497"><span class="lineNum"> 1497 </span> :<span class="lineNoCov"> 0 : stop_levels = 0;</span></a> +<a name="1498"><span class="lineNum"> 1498 </span> : : </a> +<a name="1499"><span class="lineNum"> 1499 </span> :<span class="lineNoCov"> 0 : dt_add_property_cells(dt_new_check(opal_node, "power-mgt"),</span></a> +<a name="1500"><span class="lineNum"> 1500 </span> : : "ibm,enabled-stop-levels", stop_levels);</a> +<a name="1501"><span class="lineNum"> 1501 </span> : : }</a> +<a name="1502"><span class="lineNum"> 1502 </span> : : </a> +<a name="1503"><span class="lineNum"> 1503 </span> : : #define NPU_BASE 0x5011000</a> +<a name="1504"><span class="lineNum"> 1504 </span> : : #define NPU_SIZE 0x2c</a> +<a name="1505"><span class="lineNum"> 1505 </span> : : #define NPU_INDIRECT0 0x8000000009010c3fULL</a> +<a name="1506"><span class="lineNum"> 1506 </span> : : #define NPU_INDIRECT1 0x800000000c010c3fULL</a> <a name="1507"><span class="lineNum"> 1507 </span> : : </a> -<a name="1508"><span class="lineNum"> 1508 </span> :<span class="lineCov"> 2 : dt_blob = HDIF_get_idata(hs_hdr, 0, &size);</span></a> -<a name="1509"><span class="lineNum"> 1509 </span> :<span class="lineCov"> 2 : if (!dt_blob) {</span></a> -<a name="1510"><span class="lineNum"> 1510 </span> :<span class="lineNoCov"> 0 : prerror("SPIRA: No host services idata found\n");</span></a> -<a name="1511"><span class="lineNum"> 1511 </span> :<span class="lineNoCov"> 0 : return;</span></a> -<a name="1512"><span class="lineNum"> 1512 </span> : : }</a> -<a name="1513"><span class="lineNum"> 1513 </span> :<span class="lineCov"> 2 : hservices_from_hdat(dt_blob, size);</span></a> -<a name="1514"><span class="lineNum"> 1514 </span> : : }</a> -<a name="1515"><span class="lineNum"> 1515 </span> : : </a> -<a name="1516"><span class="lineNum"> 1516 </span> :<span class="lineCov"> 2 : static void add_stop_levels(void)</span></a> -<a name="1517"><span class="lineNum"> 1517 </span> : : {</a> -<a name="1518"><span class="lineNum"> 1518 </span> :<span class="lineCov"> 2 : struct spira_ntuple *t = &spira.ntuples.proc_chip;</span></a> -<a name="1519"><span class="lineNum"> 1519 </span> : : struct HDIF_common_hdr *hdif;</a> -<a name="1520"><span class="lineNum"> 1520 </span> :<span class="lineCov"> 2 : u32 stop_levels = ~0;</span></a> -<a name="1521"><span class="lineNum"> 1521 </span> :<span class="lineCov"> 2 : bool valid = false;</span></a> -<a name="1522"><span class="lineNum"> 1522 </span> : : int i;</a> +<a name="1508"><span class="lineNum"> 1508 </span> :<span class="lineNoCov"> 0 : static void add_npu(struct dt_node *xscom, const struct HDIF_array_hdr *links,</span></a> +<a name="1509"><span class="lineNum"> 1509 </span> : : int npu_index)</a> +<a name="1510"><span class="lineNum"> 1510 </span> : : {</a> +<a name="1511"><span class="lineNum"> 1511 </span> : : const struct sppcrd_smp_link *link;</a> +<a name="1512"><span class="lineNum"> 1512 </span> : : struct dt_node *npu;</a> +<a name="1513"><span class="lineNum"> 1513 </span> : : int group_target[6]; /* Tracks the PCI slot targeted each link group */</a> +<a name="1514"><span class="lineNum"> 1514 </span> :<span class="lineNoCov"> 0 : int group_count = 0;</span></a> +<a name="1515"><span class="lineNum"> 1515 </span> :<span class="lineNoCov"> 0 : int link_count = 0;</span></a> +<a name="1516"><span class="lineNum"> 1516 </span> : : uint32_t size, chip_id;</a> +<a name="1517"><span class="lineNum"> 1517 </span> : : int i;</a> +<a name="1518"><span class="lineNum"> 1518 </span> : : </a> +<a name="1519"><span class="lineNum"> 1519 </span> :<span class="lineNoCov"> 0 : size = be32_to_cpu(links->esize);</span></a> +<a name="1520"><span class="lineNum"> 1520 </span> :<span class="lineNoCov"> 0 : chip_id = dt_get_chip_id(xscom);</span></a> +<a name="1521"><span class="lineNum"> 1521 </span> : : </a> +<a name="1522"><span class="lineNum"> 1522 </span> :<span class="lineNoCov"> 0 : memset(group_target, 0, sizeof(group_target));</span></a> <a name="1523"><span class="lineNum"> 1523 </span> : : </a> -<a name="1524"><span class="lineNum"> 1524 </span> :<span class="lineCov"> 2 : if (proc_gen < proc_gen_p9)</span></a> -<a name="1525"><span class="lineNum"> 1525 </span> :<span class="lineCov"> 2 : return;</span></a> -<a name="1526"><span class="lineNum"> 1526 </span> : : </a> -<a name="1527"><span class="lineNum"> 1527 </span> : : /*</a> -<a name="1528"><span class="lineNum"> 1528 </span> : : * OPAL only exports a single set of flags to indicate the supported</a> -<a name="1529"><span class="lineNum"> 1529 </span> : : * STOP modes while the HDAT descibes the support top levels *per chip*</a> -<a name="1530"><span class="lineNum"> 1530 </span> : : * We parse the list of chips to find a common set of STOP levels to</a> -<a name="1531"><span class="lineNum"> 1531 </span> : : * export.</a> -<a name="1532"><span class="lineNum"> 1532 </span> : : */</a> -<a name="1533"><span class="lineNum"> 1533 </span> :<span class="lineNoCov"> 0 : for_each_ntuple_idx(t, hdif, i, SPPCRD_HDIF_SIG) {</span></a> -<a name="1534"><span class="lineNum"> 1534 </span> : : unsigned int size;</a> -<a name="1535"><span class="lineNum"> 1535 </span> : : const struct sppcrd_chip_info *cinfo =</a> -<a name="1536"><span class="lineNum"> 1536 </span> :<span class="lineNoCov"> 0 : HDIF_get_idata(hdif, SPPCRD_IDATA_CHIP_INFO, &size);</span></a> -<a name="1537"><span class="lineNum"> 1537 </span> : : u32 ve, chip_levels;</a> -<a name="1538"><span class="lineNum"> 1538 </span> : : </a> -<a name="1539"><span class="lineNum"> 1539 </span> :<span class="lineNoCov"> 0 : if (!cinfo)</span></a> -<a name="1540"><span class="lineNum"> 1540 </span> :<span class="lineNoCov"> 0 : continue;</span></a> -<a name="1541"><span class="lineNum"> 1541 </span> : : </a> -<a name="1542"><span class="lineNum"> 1542 </span> : : /*</a> -<a name="1543"><span class="lineNum"> 1543 </span> : : * If the chip info field is too small then assume we have no</a> -<a name="1544"><span class="lineNum"> 1544 </span> : : * STOP level information.</a> +<a name="1524"><span class="lineNum"> 1524 </span> :<span class="lineNoCov"> 0 : npu = dt_new_addr(xscom, "npu", NPU_BASE);</span></a> +<a name="1525"><span class="lineNum"> 1525 </span> :<span class="lineNoCov"> 0 : dt_add_property_cells(npu, "reg", NPU_BASE, NPU_SIZE);</span></a> +<a name="1526"><span class="lineNum"> 1526 </span> :<span class="lineNoCov"> 0 : dt_add_property_cells(npu, "#size-cells", 0);</span></a> +<a name="1527"><span class="lineNum"> 1527 </span> :<span class="lineNoCov"> 0 : dt_add_property_cells(npu, "#address-cells", 1);</span></a> +<a name="1528"><span class="lineNum"> 1528 </span> : : </a> +<a name="1529"><span class="lineNum"> 1529 </span> :<span class="lineNoCov"> 0 : dt_add_property_strings(npu, "compatible", "ibm,power9-npu");</span></a> +<a name="1530"><span class="lineNum"> 1530 </span> :<span class="lineNoCov"> 0 : dt_add_property_cells(npu, "ibm,npu-index", npu_index);</span></a> +<a name="1531"><span class="lineNum"> 1531 </span> : : </a> +<a name="1532"><span class="lineNum"> 1532 </span> :<span class="lineNoCov"> 0 : HDIF_iarray_for_each(links, i, link) {</span></a> +<a name="1533"><span class="lineNum"> 1533 </span> :<span class="lineNoCov"> 0 : uint16_t slot_id = be16_to_cpu(link->pci_slot_idx);</span></a> +<a name="1534"><span class="lineNum"> 1534 </span> :<span class="lineNoCov"> 0 : uint32_t link_id = be32_to_cpu(link->link_id);</span></a> +<a name="1535"><span class="lineNum"> 1535 </span> :<span class="lineNoCov"> 0 : uint64_t speed = 0, nvlink_speed = 0;</span></a> +<a name="1536"><span class="lineNum"> 1536 </span> : : struct dt_node *node;</a> +<a name="1537"><span class="lineNum"> 1537 </span> : : </a> +<a name="1538"><span class="lineNum"> 1538 </span> : : /*</a> +<a name="1539"><span class="lineNum"> 1539 </span> : : * Only add a link node if this link is targeted at a</a> +<a name="1540"><span class="lineNum"> 1540 </span> : : * GPU device.</a> +<a name="1541"><span class="lineNum"> 1541 </span> : : *</a> +<a name="1542"><span class="lineNum"> 1542 </span> : : * If we ever activate it for an opencapi device, we</a> +<a name="1543"><span class="lineNum"> 1543 </span> : : * should revisit the link definitions hard-coded</a> +<a name="1544"><span class="lineNum"> 1544 </span> : : * on ZZ.</a> <a name="1545"><span class="lineNum"> 1545 </span> : : */</a> -<a name="1546"><span class="lineNum"> 1546 </span> :<span class="lineNoCov"> 0 : if (size < 0x44) {</span></a> -<a name="1547"><span class="lineNum"> 1547 </span> :<span class="lineNoCov"> 0 : stop_levels = 0;</span></a> -<a name="1548"><span class="lineNum"> 1548 </span> :<span class="lineNoCov"> 0 : break;</span></a> -<a name="1549"><span class="lineNum"> 1549 </span> : : }</a> -<a name="1550"><span class="lineNum"> 1550 </span> : : </a> -<a name="1551"><span class="lineNum"> 1551 </span> :<span class="lineNoCov"> 0 : ve = be32_to_cpu(cinfo->verif_exist_flags) & CPU_ID_VERIFY_MASK;</span></a> -<a name="1552"><span class="lineNum"> 1552 </span> :<span class="lineNoCov"> 0 : ve >>= CPU_ID_VERIFY_SHIFT;</span></a> -<a name="1553"><span class="lineNum"> 1553 </span> :<span class="lineNoCov"> 0 : if (ve == CHIP_VERIFY_NOT_INSTALLED ||</span></a> -<a name="1554"><span class="lineNum"> 1554 </span> : : ve == CHIP_VERIFY_UNUSABLE)</a> -<a name="1555"><span class="lineNum"> 1555 </span> :<span class="lineNoCov"> 0 : continue;</span></a> -<a name="1556"><span class="lineNum"> 1556 </span> : : </a> -<a name="1557"><span class="lineNum"> 1557 </span> :<span class="lineNoCov"> 0 : chip_levels = be32_to_cpu(cinfo->stop_levels);</span></a> -<a name="1558"><span class="lineNum"> 1558 </span> : : </a> -<a name="1559"><span class="lineNum"> 1559 </span> :<span class="lineNoCov"> 0 : prlog(PR_INSANE, "CHIP[%x] supported STOP mask 0x%.8x\n",</span></a> -<a name="1560"><span class="lineNum"> 1560 </span> : : be32_to_cpu(cinfo->proc_chip_id), chip_levels);</a> -<a name="1561"><span class="lineNum"> 1561 </span> : : </a> -<a name="1562"><span class="lineNum"> 1562 </span> :<span class="lineNoCov"> 0 : stop_levels &= chip_levels;</span></a> -<a name="1563"><span class="lineNum"> 1563 </span> :<span class="lineNoCov"> 0 : valid = true;</span></a> -<a name="1564"><span class="lineNum"> 1564 </span> : : }</a> +<a name="1546"><span class="lineNum"> 1546 </span> :<span class="lineNoCov"> 0 : if (be32_to_cpu(link->usage) != SMP_LINK_USE_GPU)</span></a> +<a name="1547"><span class="lineNum"> 1547 </span> :<span class="lineNoCov"> 0 : continue;</span></a> +<a name="1548"><span class="lineNum"> 1548 </span> : : </a> +<a name="1549"><span class="lineNum"> 1549 </span> : : /*</a> +<a name="1550"><span class="lineNum"> 1550 </span> : : * XXX: The link_id that we get from HDAT is essentially an</a> +<a name="1551"><span class="lineNum"> 1551 </span> : : * arbitrary ID number so we can't use it as the reg for the</a> +<a name="1552"><span class="lineNum"> 1552 </span> : : * link node.</a> +<a name="1553"><span class="lineNum"> 1553 </span> : : *</a> +<a name="1554"><span class="lineNum"> 1554 </span> : : * a) There's a 1-1 mapping between entries in the SMP link</a> +<a name="1555"><span class="lineNum"> 1555 </span> : : * structure and the NPU links.</a> +<a name="1556"><span class="lineNum"> 1556 </span> : : *</a> +<a name="1557"><span class="lineNum"> 1557 </span> : : * b) The SMP link array contains them in ascending order.</a> +<a name="1558"><span class="lineNum"> 1558 </span> : : *</a> +<a name="1559"><span class="lineNum"> 1559 </span> : : * We have some assurances that b) is correct, but if we get</a> +<a name="1560"><span class="lineNum"> 1560 </span> : : * broken link numbering it's something to watch for.</a> +<a name="1561"><span class="lineNum"> 1561 </span> : : *</a> +<a name="1562"><span class="lineNum"> 1562 </span> : : * If we every have actual A-Bus (SMP) link info in here</a> +<a name="1563"><span class="lineNum"> 1563 </span> : : * this is going to break.</a> +<a name="1564"><span class="lineNum"> 1564 </span> : : */</a> <a name="1565"><span class="lineNum"> 1565 </span> : : </a> -<a name="1566"><span class="lineNum"> 1566 </span> :<span class="lineNoCov"> 0 : if (!valid)</span></a> -<a name="1567"><span class="lineNum"> 1567 </span> :<span class="lineNoCov"> 0 : stop_levels = 0;</span></a> +<a name="1566"><span class="lineNum"> 1566 </span> :<span class="lineNoCov"> 0 : prlog(PR_DEBUG, "NPU: %04x:%d: Link (%d) targets slot %u\n",</span></a> +<a name="1567"><span class="lineNum"> 1567 </span> : : chip_id, link_count, link_count, slot_id);</a> <a name="1568"><span class="lineNum"> 1568 </span> : : </a> -<a name="1569"><span class="lineNum"> 1569 </span> :<span class="lineNoCov"> 0 : dt_add_property_cells(dt_new_check(opal_node, "power-mgt"),</span></a> -<a name="1570"><span class="lineNum"> 1570 </span> : : "ibm,enabled-stop-levels", stop_levels);</a> -<a name="1571"><span class="lineNum"> 1571 </span> : : }</a> -<a name="1572"><span class="lineNum"> 1572 </span> : : </a> -<a name="1573"><span class="lineNum"> 1573 </span> : : #define NPU_BASE 0x5011000</a> -<a name="1574"><span class="lineNum"> 1574 </span> : : #define NPU_SIZE 0x2c</a> -<a name="1575"><span class="lineNum"> 1575 </span> : : #define NPU_INDIRECT0 0x8000000009010c3fULL</a> -<a name="1576"><span class="lineNum"> 1576 </span> : : #define NPU_INDIRECT1 0x800000000c010c3fULL</a> -<a name="1577"><span class="lineNum"> 1577 </span> : : </a> -<a name="1578"><span class="lineNum"> 1578 </span> :<span class="lineNoCov"> 0 : static void add_npu(struct dt_node *xscom, const struct HDIF_array_hdr *links,</span></a> -<a name="1579"><span class="lineNum"> 1579 </span> : : int npu_index)</a> -<a name="1580"><span class="lineNum"> 1580 </span> : : {</a> -<a name="1581"><span class="lineNum"> 1581 </span> : : const struct sppcrd_smp_link *link;</a> -<a name="1582"><span class="lineNum"> 1582 </span> : : struct dt_node *npu;</a> -<a name="1583"><span class="lineNum"> 1583 </span> : : int group_target[6]; /* Tracks the PCI slot targeted each link group */</a> -<a name="1584"><span class="lineNum"> 1584 </span> :<span class="lineNoCov"> 0 : int group_count = 0;</span></a> -<a name="1585"><span class="lineNum"> 1585 </span> :<span class="lineNoCov"> 0 : int link_count = 0;</span></a> -<a name="1586"><span class="lineNum"> 1586 </span> : : uint32_t size, chip_id;</a> -<a name="1587"><span class="lineNum"> 1587 </span> : : int i;</a> -<a name="1588"><span class="lineNum"> 1588 </span> : : </a> -<a name="1589"><span class="lineNum"> 1589 </span> :<span class="lineNoCov"> 0 : size = be32_to_cpu(links->esize);</span></a> -<a name="1590"><span class="lineNum"> 1590 </span> :<span class="lineNoCov"> 0 : chip_id = dt_get_chip_id(xscom);</span></a> -<a name="1591"><span class="lineNum"> 1591 </span> : : </a> -<a name="1592"><span class="lineNum"> 1592 </span> :<span class="lineNoCov"> 0 : memset(group_target, 0, sizeof(group_target));</span></a> +<a name="1569"><span class="lineNum"> 1569 </span> :<span class="lineNoCov"> 0 : if (link_count >= 6) {</span></a> +<a name="1570"><span class="lineNum"> 1570 </span> :<span class="lineNoCov"> 0 : prerror("NPU: %04x:%d: Ignoring extra link (max 6)\n",</span></a> +<a name="1571"><span class="lineNum"> 1571 </span> : : chip_id, link_count);</a> +<a name="1572"><span class="lineNum"> 1572 </span> :<span class="lineNoCov"> 0 : break;</span></a> +<a name="1573"><span class="lineNum"> 1573 </span> : : }</a> +<a name="1574"><span class="lineNum"> 1574 </span> : : </a> +<a name="1575"><span class="lineNum"> 1575 </span> :<span class="lineNoCov"> 0 : node = dt_new_addr(npu, "link", link_count);</span></a> +<a name="1576"><span class="lineNum"> 1576 </span> :<span class="lineNoCov"> 0 : if (!node) {</span></a> +<a name="1577"><span class="lineNum"> 1577 </span> :<span class="lineNoCov"> 0 : prerror("NPU: %04x:%d: Creating link node failed\n",</span></a> +<a name="1578"><span class="lineNum"> 1578 </span> : : chip_id, link_count);</a> +<a name="1579"><span class="lineNum"> 1579 </span> :<span class="lineNoCov"> 0 : continue;</span></a> +<a name="1580"><span class="lineNum"> 1580 </span> : : }</a> +<a name="1581"><span class="lineNum"> 1581 </span> : : </a> +<a name="1582"><span class="lineNum"> 1582 </span> :<span class="lineNoCov"> 0 : dt_add_property_string(node, "compatible", "ibm,npu-link");</span></a> +<a name="1583"><span class="lineNum"> 1583 </span> :<span class="lineNoCov"> 0 : dt_add_property_cells(node, "reg", link_count);</span></a> +<a name="1584"><span class="lineNum"> 1584 </span> :<span class="lineNoCov"> 0 : dt_add_property_cells(node, "ibm,npu-link-index", link_count);</span></a> +<a name="1585"><span class="lineNum"> 1585 </span> :<span class="lineNoCov"> 0 : dt_add_property_cells(node, "ibm,workbook-link-id", link_id);</span></a> +<a name="1586"><span class="lineNum"> 1586 </span> : : </a> +<a name="1587"><span class="lineNum"> 1587 </span> :<span class="lineNoCov"> 0 : dt_add_property_u64s(node, "ibm,npu-phy",</span></a> +<a name="1588"><span class="lineNum"> 1588 </span> : : link_count < 3 ? NPU_INDIRECT0 : NPU_INDIRECT1);</a> +<a name="1589"><span class="lineNum"> 1589 </span> :<span class="lineNoCov"> 0 : dt_add_property_cells(node, "ibm,npu-lane-mask",</span></a> +<a name="1590"><span class="lineNum"> 1590 </span> : : be32_to_cpu(link->lane_mask));</a> +<a name="1591"><span class="lineNum"> 1591 </span> :<span class="lineNoCov"> 0 : dt_add_property_cells(node, "ibm,npu-brick-id",</span></a> +<a name="1592"><span class="lineNum"> 1592 </span> : : be32_to_cpu(link->brick_id));</a> <a name="1593"><span class="lineNum"> 1593 </span> : : </a> -<a name="1594"><span class="lineNum"> 1594 </span> :<span class="lineNoCov"> 0 : npu = dt_new_addr(xscom, "npu", NPU_BASE);</span></a> -<a name="1595"><span class="lineNum"> 1595 </span> :<span class="lineNoCov"> 0 : dt_add_property_cells(npu, "reg", NPU_BASE, NPU_SIZE);</span></a> -<a name="1596"><span class="lineNum"> 1596 </span> :<span class="lineNoCov"> 0 : dt_add_property_cells(npu, "#size-cells", 0);</span></a> -<a name="1597"><span class="lineNum"> 1597 </span> :<span class="lineNoCov"> 0 : dt_add_property_cells(npu, "#address-cells", 1);</span></a> -<a name="1598"><span class="lineNum"> 1598 </span> : : </a> -<a name="1599"><span class="lineNum"> 1599 </span> :<span class="lineNoCov"> 0 : dt_add_property_strings(npu, "compatible", "ibm,power9-npu");</span></a> -<a name="1600"><span class="lineNum"> 1600 </span> :<span class="lineNoCov"> 0 : dt_add_property_cells(npu, "ibm,npu-index", npu_index);</span></a> -<a name="1601"><span class="lineNum"> 1601 </span> : : </a> -<a name="1602"><span class="lineNum"> 1602 </span> :<span class="lineNoCov"> 0 : HDIF_iarray_for_each(links, i, link) {</span></a> -<a name="1603"><span class="lineNum"> 1603 </span> :<span class="lineNoCov"> 0 : uint16_t slot_id = be16_to_cpu(link->pci_slot_idx);</span></a> -<a name="1604"><span class="lineNum"> 1604 </span> :<span class="lineNoCov"> 0 : uint32_t link_id = be32_to_cpu(link->link_id);</span></a> -<a name="1605"><span class="lineNum"> 1605 </span> :<span class="lineNoCov"> 0 : uint64_t speed = 0, nvlink_speed = 0;</span></a> -<a name="1606"><span class="lineNum"> 1606 </span> : : struct dt_node *node;</a> -<a name="1607"><span class="lineNum"> 1607 </span> : : </a> -<a name="1608"><span class="lineNum"> 1608 </span> : : /*</a> -<a name="1609"><span class="lineNum"> 1609 </span> : : * Only add a link node if this link is targeted at a</a> -<a name="1610"><span class="lineNum"> 1610 </span> : : * GPU device.</a> -<a name="1611"><span class="lineNum"> 1611 </span> : : *</a> -<a name="1612"><span class="lineNum"> 1612 </span> : : * If we ever activate it for an opencapi device, we</a> -<a name="1613"><span class="lineNum"> 1613 </span> : : * should revisit the link definitions hard-coded</a> -<a name="1614"><span class="lineNum"> 1614 </span> : : * on ZZ.</a> -<a name="1615"><span class="lineNum"> 1615 </span> : : */</a> -<a name="1616"><span class="lineNum"> 1616 </span> :<span class="lineNoCov"> 0 : if (be32_to_cpu(link->usage) != SMP_LINK_USE_GPU)</span></a> -<a name="1617"><span class="lineNum"> 1617 </span> :<span class="lineNoCov"> 0 : continue;</span></a> -<a name="1618"><span class="lineNum"> 1618 </span> : : </a> -<a name="1619"><span class="lineNum"> 1619 </span> : : /*</a> -<a name="1620"><span class="lineNum"> 1620 </span> : : * XXX: The link_id that we get from HDAT is essentially an</a> -<a name="1621"><span class="lineNum"> 1621 </span> : : * arbitrary ID number so we can't use it as the reg for the</a> -<a name="1622"><span class="lineNum"> 1622 </span> : : * link node.</a> -<a name="1623"><span class="lineNum"> 1623 </span> : : *</a> -<a name="1624"><span class="lineNum"> 1624 </span> : : * a) There's a 1-1 mapping between entries in the SMP link</a> -<a name="1625"><span class="lineNum"> 1625 </span> : : * structure and the NPU links.</a> -<a name="1626"><span class="lineNum"> 1626 </span> : : *</a> -<a name="1627"><span class="lineNum"> 1627 </span> : : * b) The SMP link array contains them in ascending order.</a> -<a name="1628"><span class="lineNum"> 1628 </span> : : *</a> -<a name="1629"><span class="lineNum"> 1629 </span> : : * We have some assurances that b) is correct, but if we get</a> -<a name="1630"><span class="lineNum"> 1630 </span> : : * broken link numbering it's something to watch for.</a> -<a name="1631"><span class="lineNum"> 1631 </span> : : *</a> -<a name="1632"><span class="lineNum"> 1632 </span> : : * If we every have actual A-Bus (SMP) link info in here</a> -<a name="1633"><span class="lineNum"> 1633 </span> : : * this is going to break.</a> -<a name="1634"><span class="lineNum"> 1634 </span> : : */</a> -<a name="1635"><span class="lineNum"> 1635 </span> : : </a> -<a name="1636"><span class="lineNum"> 1636 </span> :<span class="lineNoCov"> 0 : prlog(PR_DEBUG, "NPU: %04x:%d: Link (%d) targets slot %u\n",</span></a> -<a name="1637"><span class="lineNum"> 1637 </span> : : chip_id, link_count, link_count, slot_id);</a> -<a name="1638"><span class="lineNum"> 1638 </span> : : </a> -<a name="1639"><span class="lineNum"> 1639 </span> :<span class="lineNoCov"> 0 : if (link_count >= 6) {</span></a> -<a name="1640"><span class="lineNum"> 1640 </span> :<span class="lineNoCov"> 0 : prerror("NPU: %04x:%d: Ignoring extra link (max 6)\n",</span></a> -<a name="1641"><span class="lineNum"> 1641 </span> : : chip_id, link_count);</a> -<a name="1642"><span class="lineNum"> 1642 </span> :<span class="lineNoCov"> 0 : break;</span></a> -<a name="1643"><span class="lineNum"> 1643 </span> : : }</a> -<a name="1644"><span class="lineNum"> 1644 </span> : : </a> -<a name="1645"><span class="lineNum"> 1645 </span> :<span class="lineNoCov"> 0 : node = dt_new_addr(npu, "link", link_count);</span></a> -<a name="1646"><span class="lineNum"> 1646 </span> :<span class="lineNoCov"> 0 : if (!node) {</span></a> -<a name="1647"><span class="lineNum"> 1647 </span> :<span class="lineNoCov"> 0 : prerror("NPU: %04x:%d: Creating link node failed\n",</span></a> -<a name="1648"><span class="lineNum"> 1648 </span> : : chip_id, link_count);</a> -<a name="1649"><span class="lineNum"> 1649 </span> :<span class="lineNoCov"> 0 : continue;</span></a> -<a name="1650"><span class="lineNum"> 1650 </span> : : }</a> -<a name="1651"><span class="lineNum"> 1651 </span> : : </a> -<a name="1652"><span class="lineNum"> 1652 </span> :<span class="lineNoCov"> 0 : dt_add_property_string(node, "compatible", "ibm,npu-link");</span></a> -<a name="1653"><span class="lineNum"> 1653 </span> :<span class="lineNoCov"> 0 : dt_add_property_cells(node, "reg", link_count);</span></a> -<a name="1654"><span class="lineNum"> 1654 </span> :<span class="lineNoCov"> 0 : dt_add_property_cells(node, "ibm,npu-link-index", link_count);</span></a> -<a name="1655"><span class="lineNum"> 1655 </span> :<span class="lineNoCov"> 0 : dt_add_property_cells(node, "ibm,workbook-link-id", link_id);</span></a> -<a name="1656"><span class="lineNum"> 1656 </span> : : </a> -<a name="1657"><span class="lineNum"> 1657 </span> :<span class="lineNoCov"> 0 : dt_add_property_u64s(node, "ibm,npu-phy",</span></a> -<a name="1658"><span class="lineNum"> 1658 </span> : : link_count < 3 ? NPU_INDIRECT0 : NPU_INDIRECT1);</a> -<a name="1659"><span class="lineNum"> 1659 </span> :<span class="lineNoCov"> 0 : dt_add_property_cells(node, "ibm,npu-lane-mask",</span></a> -<a name="1660"><span class="lineNum"> 1660 </span> : : be32_to_cpu(link->lane_mask));</a> -<a name="1661"><span class="lineNum"> 1661 </span> :<span class="lineNoCov"> 0 : dt_add_property_cells(node, "ibm,npu-brick-id",</span></a> -<a name="1662"><span class="lineNum"> 1662 </span> : : be32_to_cpu(link->brick_id));</a> -<a name="1663"><span class="lineNum"> 1663 </span> : : </a> -<a name="1664"><span class="lineNum"> 1664 </span> :<span class="lineNoCov"> 0 : link_count++;</span></a> -<a name="1665"><span class="lineNum"> 1665 </span> : : </a> -<a name="1666"><span class="lineNum"> 1666 </span> : : /*</a> -<a name="1667"><span class="lineNum"> 1667 </span> : : * Add the group details if this is an NVlink.</a> -<a name="1668"><span class="lineNum"> 1668 </span> : : *</a> -<a name="1669"><span class="lineNum"> 1669 </span> : : * TODO: Cable card stuff.</a> -<a name="1670"><span class="lineNum"> 1670 </span> : : */</a> -<a name="1671"><span class="lineNum"> 1671 </span> :<span class="lineNoCov"> 0 : if (slot_id) {</span></a> -<a name="1672"><span class="lineNum"> 1672 </span> : : struct dt_node *slot;</a> -<a name="1673"><span class="lineNum"> 1673 </span> : : const char *name;</a> -<a name="1674"><span class="lineNum"> 1674 </span> : : int group;</a> +<a name="1594"><span class="lineNum"> 1594 </span> :<span class="lineNoCov"> 0 : link_count++;</span></a> +<a name="1595"><span class="lineNum"> 1595 </span> : : </a> +<a name="1596"><span class="lineNum"> 1596 </span> : : /*</a> +<a name="1597"><span class="lineNum"> 1597 </span> : : * Add the group details if this is an NVlink.</a> +<a name="1598"><span class="lineNum"> 1598 </span> : : *</a> +<a name="1599"><span class="lineNum"> 1599 </span> : : * TODO: Cable card stuff.</a> +<a name="1600"><span class="lineNum"> 1600 </span> : : */</a> +<a name="1601"><span class="lineNum"> 1601 </span> :<span class="lineNoCov"> 0 : if (slot_id) {</span></a> +<a name="1602"><span class="lineNum"> 1602 </span> : : struct dt_node *slot;</a> +<a name="1603"><span class="lineNum"> 1603 </span> : : const char *name;</a> +<a name="1604"><span class="lineNum"> 1604 </span> : : int group;</a> +<a name="1605"><span class="lineNum"> 1605 </span> : : </a> +<a name="1606"><span class="lineNum"> 1606 </span> : : /*</a> +<a name="1607"><span class="lineNum"> 1607 </span> : : * Search the existing groups for one targeting</a> +<a name="1608"><span class="lineNum"> 1608 </span> : : * this PCI slot</a> +<a name="1609"><span class="lineNum"> 1609 </span> : : */</a> +<a name="1610"><span class="lineNum"> 1610 </span> :<span class="lineNoCov"> 0 : for (group = 0; group < group_count; group++)</span></a> +<a name="1611"><span class="lineNum"> 1611 </span> :<span class="lineNoCov"> 0 : if (group_target[group] == slot_id)</span></a> +<a name="1612"><span class="lineNum"> 1612 </span> :<span class="lineNoCov"> 0 : break;</span></a> +<a name="1613"><span class="lineNum"> 1613 </span> : : </a> +<a name="1614"><span class="lineNum"> 1614 </span> : : /* no group, make a new one */</a> +<a name="1615"><span class="lineNum"> 1615 </span> :<span class="lineNoCov"> 0 : if (group == group_count) {</span></a> +<a name="1616"><span class="lineNum"> 1616 </span> :<span class="lineNoCov"> 0 : group_target[group] = slot_id;</span></a> +<a name="1617"><span class="lineNum"> 1617 </span> :<span class="lineNoCov"> 0 : group_count++;</span></a> +<a name="1618"><span class="lineNum"> 1618 </span> : : }</a> +<a name="1619"><span class="lineNum"> 1619 </span> : : </a> +<a name="1620"><span class="lineNum"> 1620 </span> :<span class="lineNoCov"> 0 : dt_add_property_cells(node, "ibm,npu-group-id", group);</span></a> +<a name="1621"><span class="lineNum"> 1621 </span> : : </a> +<a name="1622"><span class="lineNum"> 1622 </span> :<span class="lineNoCov"> 0 : slot = find_slot_entry_node(dt_root, slot_id);</span></a> +<a name="1623"><span class="lineNum"> 1623 </span> :<span class="lineNoCov"> 0 : if (!slot) {</span></a> +<a name="1624"><span class="lineNum"> 1624 </span> :<span class="lineNoCov"> 0 : prerror("NPU: %04x:%d: Unable find node for targeted PCIe slot\n",</span></a> +<a name="1625"><span class="lineNum"> 1625 </span> : : chip_id, link_count - 1);</a> +<a name="1626"><span class="lineNum"> 1626 </span> :<span class="lineNoCov"> 0 : continue;</span></a> +<a name="1627"><span class="lineNum"> 1627 </span> : : }</a> +<a name="1628"><span class="lineNum"> 1628 </span> : : </a> +<a name="1629"><span class="lineNum"> 1629 </span> : : /*</a> +<a name="1630"><span class="lineNum"> 1630 </span> : : * The slot_id points to a node that indicates that</a> +<a name="1631"><span class="lineNum"> 1631 </span> : : * this GPU should appear under the slot. Grab the</a> +<a name="1632"><span class="lineNum"> 1632 </span> : : * slot-label from the parent node that represents</a> +<a name="1633"><span class="lineNum"> 1633 </span> : : * the actual slot.</a> +<a name="1634"><span class="lineNum"> 1634 </span> : : */</a> +<a name="1635"><span class="lineNum"> 1635 </span> :<span class="lineNoCov"> 0 : name = dt_prop_get_def(slot->parent, "ibm,slot-label",</span></a> +<a name="1636"><span class="lineNum"> 1636 </span> : : (char *)"<SLOT NAME MISSING>");</a> +<a name="1637"><span class="lineNum"> 1637 </span> : : </a> +<a name="1638"><span class="lineNum"> 1638 </span> :<span class="lineNoCov"> 0 : prlog(PR_DEBUG, "NPU: %04x:%d: Target slot %s\n",</span></a> +<a name="1639"><span class="lineNum"> 1639 </span> : : chip_id, link_count - 1, name);</a> +<a name="1640"><span class="lineNum"> 1640 </span> : : </a> +<a name="1641"><span class="lineNum"> 1641 </span> :<span class="lineNoCov"> 0 : dt_add_property_string(node, "ibm,slot-label", name);</span></a> +<a name="1642"><span class="lineNum"> 1642 </span> :<span class="lineNoCov"> 0 : dt_add_property_cells(node, "ibm,pcie-slot",</span></a> +<a name="1643"><span class="lineNum"> 1643 </span> : : slot->phandle);</a> +<a name="1644"><span class="lineNum"> 1644 </span> : : }</a> +<a name="1645"><span class="lineNum"> 1645 </span> : : </a> +<a name="1646"><span class="lineNum"> 1646 </span> : : /* Newer fields which might not be populated */</a> +<a name="1647"><span class="lineNum"> 1647 </span> :<span class="lineNoCov"> 0 : if (size <= 0x24)</span></a> +<a name="1648"><span class="lineNum"> 1648 </span> :<span class="lineNoCov"> 0 : continue;</span></a> +<a name="1649"><span class="lineNum"> 1649 </span> : : </a> +<a name="1650"><span class="lineNum"> 1650 </span> :<span class="lineNoCov"> 0 : switch (link->link_speed) {</span></a> +<a name="1651"><span class="lineNum"> 1651 </span> :<span class="lineNoCov"> 0 : case 0: /* 20Gbps */</span></a> +<a name="1652"><span class="lineNum"> 1652 </span> :<span class="lineNoCov"> 0 : speed = 20000000000ul;</span></a> +<a name="1653"><span class="lineNum"> 1653 </span> :<span class="lineNoCov"> 0 : nvlink_speed = 0x3;</span></a> +<a name="1654"><span class="lineNum"> 1654 </span> :<span class="lineNoCov"> 0 : break;</span></a> +<a name="1655"><span class="lineNum"> 1655 </span> :<span class="lineNoCov"> 0 : case 1: /* 25Gbps */</span></a> +<a name="1656"><span class="lineNum"> 1656 </span> :<span class="lineNoCov"> 0 : speed = 25000000000ul;</span></a> +<a name="1657"><span class="lineNum"> 1657 </span> :<span class="lineNoCov"> 0 : nvlink_speed = 0x9;</span></a> +<a name="1658"><span class="lineNum"> 1658 </span> :<span class="lineNoCov"> 0 : break;</span></a> +<a name="1659"><span class="lineNum"> 1659 </span> :<span class="lineNoCov"> 0 : case 2: /* 25.78125 Gbps */</span></a> +<a name="1660"><span class="lineNum"> 1660 </span> :<span class="lineNoCov"> 0 : nvlink_speed = 0x8;</span></a> +<a name="1661"><span class="lineNum"> 1661 </span> :<span class="lineNoCov"> 0 : speed = 25781250000ul;</span></a> +<a name="1662"><span class="lineNum"> 1662 </span> :<span class="lineNoCov"> 0 : break;</span></a> +<a name="1663"><span class="lineNum"> 1663 </span> : : }</a> +<a name="1664"><span class="lineNum"> 1664 </span> : : </a> +<a name="1665"><span class="lineNum"> 1665 </span> : : /* ibm,link-speed is in bps and nvidia,link-speed is ~magic~ */</a> +<a name="1666"><span class="lineNum"> 1666 </span> :<span class="lineNoCov"> 0 : dt_add_property_u64s(node, "ibm,link-speed", speed);</span></a> +<a name="1667"><span class="lineNum"> 1667 </span> :<span class="lineNoCov"> 0 : dt_add_property_cells(node, "nvidia,link-speed", nvlink_speed);</span></a> +<a name="1668"><span class="lineNum"> 1668 </span> : : </a> +<a name="1669"><span class="lineNum"> 1669 </span> :<span class="lineNoCov"> 0 : dt_add_property_cells(node, DT_PRIVATE "occ-flag-pos",</span></a> +<a name="1670"><span class="lineNum"> 1670 </span> : : PPC_BIT(link->occ_flag_bit));</a> +<a name="1671"><span class="lineNum"> 1671 </span> : : }</a> +<a name="1672"><span class="lineNum"> 1672 </span> : : </a> +<a name="1673"><span class="lineNum"> 1673 </span> :<span class="lineNoCov"> 0 : dt_add_property_cells(npu, "ibm,npu-links", link_count);</span></a> +<a name="1674"><span class="lineNum"> 1674 </span> :<span class="lineNoCov"> 0 : }</span></a> <a name="1675"><span class="lineNum"> 1675 </span> : : </a> -<a name="1676"><span class="lineNum"> 1676 </span> : : /*</a> -<a name="1677"><span class="lineNum"> 1677 </span> : : * Search the existing groups for one targeting</a> -<a name="1678"><span class="lineNum"> 1678 </span> : : * this PCI slot</a> -<a name="1679"><span class="lineNum"> 1679 </span> : : */</a> -<a name="1680"><span class="lineNum"> 1680 </span> :<span class="lineNoCov"> 0 : for (group = 0; group < group_count; group++)</span></a> -<a name="1681"><span class="lineNum"> 1681 </span> :<span class="lineNoCov"> 0 : if (group_target[group] == slot_id)</span></a> -<a name="1682"><span class="lineNum"> 1682 </span> :<span class="lineNoCov"> 0 : break;</span></a> -<a name="1683"><span class="lineNum"> 1683 </span> : : </a> -<a name="1684"><span class="lineNum"> 1684 </span> : : /* no group, make a new one */</a> -<a name="1685"><span class="lineNum"> 1685 </span> :<span class="lineNoCov"> 0 : if (group == group_count) {</span></a> -<a name="1686"><span class="lineNum"> 1686 </span> :<span class="lineNoCov"> 0 : group_target[group] = slot_id;</span></a> -<a name="1687"><span class="lineNum"> 1687 </span> :<span class="lineNoCov"> 0 : group_count++;</span></a> -<a name="1688"><span class="lineNum"> 1688 </span> : : }</a> -<a name="1689"><span class="lineNum"> 1689 </span> : : </a> -<a name="1690"><span class="lineNum"> 1690 </span> :<span class="lineNoCov"> 0 : dt_add_property_cells(node, "ibm,npu-group-id", group);</span></a> -<a name="1691"><span class="lineNum"> 1691 </span> : : </a> -<a name="1692"><span class="lineNum"> 1692 </span> :<span class="lineNoCov"> 0 : slot = find_slot_entry_node(dt_root, slot_id);</span></a> -<a name="1693"><span class="lineNum"> 1693 </span> :<span class="lineNoCov"> 0 : if (!slot) {</span></a> -<a name="1694"><span class="lineNum"> 1694 </span> :<span class="lineNoCov"> 0 : prerror("NPU: %04x:%d: Unable find node for targeted PCIe slot\n",</span></a> -<a name="1695"><span class="lineNum"> 1695 </span> : : chip_id, link_count - 1);</a> -<a name="1696"><span class="lineNum"> 1696 </span> :<span class="lineNoCov"> 0 : continue;</span></a> -<a name="1697"><span class="lineNum"> 1697 </span> : : }</a> -<a name="1698"><span class="lineNum"> 1698 </span> : : </a> -<a name="1699"><span class="lineNum"> 1699 </span> : : /*</a> -<a name="1700"><span class="lineNum"> 1700 </span> : : * The slot_id points to a node that indicates that</a> -<a name="1701"><span class="lineNum"> 1701 </span> : : * this GPU should appear under the slot. Grab the</a> -<a name="1702"><span class="lineNum"> 1702 </span> : : * slot-label from the parent node that represents</a> -<a name="1703"><span class="lineNum"> 1703 </span> : : * the actual slot.</a> -<a name="1704"><span class="lineNum"> 1704 </span> : : */</a> -<a name="1705"><span class="lineNum"> 1705 </span> :<span class="lineNoCov"> 0 : name = dt_prop_get_def(slot->parent, "ibm,slot-label",</span></a> -<a name="1706"><span class="lineNum"> 1706 </span> : : (char *)"<SLOT NAME MISSING>");</a> -<a name="1707"><span class="lineNum"> 1707 </span> : : </a> -<a name="1708"><span class="lineNum"> 1708 </span> :<span class="lineNoCov"> 0 : prlog(PR_DEBUG, "NPU: %04x:%d: Target slot %s\n",</span></a> -<a name="1709"><span class="lineNum"> 1709 </span> : : chip_id, link_count - 1, name);</a> -<a name="1710"><span class="lineNum"> 1710 </span> : : </a> -<a name="1711"><span class="lineNum"> 1711 </span> :<span class="lineNoCov"> 0 : dt_add_property_string(node, "ibm,slot-label", name);</span></a> -<a name="1712"><span class="lineNum"> 1712 </span> :<span class="lineNoCov"> 0 : dt_add_property_cells(node, "ibm,pcie-slot",</span></a> -<a name="1713"><span class="lineNum"> 1713 </span> : : slot->phandle);</a> -<a name="1714"><span class="lineNum"> 1714 </span> : : }</a> -<a name="1715"><span class="lineNum"> 1715 </span> : : </a> -<a name="1716"><span class="lineNum"> 1716 </span> : : /* Newer fields which might not be populated */</a> -<a name="1717"><span class="lineNum"> 1717 </span> :<span class="lineNoCov"> 0 : if (size <= 0x24)</span></a> -<a name="1718"><span class="lineNum"> 1718 </span> :<span class="lineNoCov"> 0 : continue;</span></a> -<a name="1719"><span class="lineNum"> 1719 </span> : : </a> -<a name="1720"><span class="lineNum"> 1720 </span> :<span class="lineNoCov"> 0 : switch (link->link_speed) {</span></a> -<a name="1721"><span class="lineNum"> 1721 </span> :<span class="lineNoCov"> 0 : case 0: /* 20Gbps */</span></a> -<a name="1722"><span class="lineNum"> 1722 </span> :<span class="lineNoCov"> 0 : speed = 20000000000ul;</span></a> -<a name="1723"><span class="lineNum"> 1723 </span> :<span class="lineNoCov"> 0 : nvlink_speed = 0x3;</span></a> -<a name="1724"><span class="lineNum"> 1724 </span> :<span class="lineNoCov"> 0 : break;</span></a> -<a name="1725"><span class="lineNum"> 1725 </span> :<span class="lineNoCov"> 0 : case 1: /* 25Gbps */</span></a> -<a name="1726"><span class="lineNum"> 1726 </span> :<span class="lineNoCov"> 0 : speed = 25000000000ul;</span></a> -<a name="1727"><span class="lineNum"> 1727 </span> :<span class="lineNoCov"> 0 : nvlink_speed = 0x9;</span></a> -<a name="1728"><span class="lineNum"> 1728 </span> :<span class="lineNoCov"> 0 : break;</span></a> -<a name="1729"><span class="lineNum"> 1729 </span> :<span class="lineNoCov"> 0 : case 2: /* 25.78125 Gbps */</span></a> -<a name="1730"><span class="lineNum"> 1730 </span> :<span class="lineNoCov"> 0 : nvlink_speed = 0x8;</span></a> -<a name="1731"><span class="lineNum"> 1731 </span> :<span class="lineNoCov"> 0 : speed = 25781250000ul;</span></a> -<a name="1732"><span class="lineNum"> 1732 </span> :<span class="lineNoCov"> 0 : break;</span></a> -<a name="1733"><span class="lineNum"> 1733 </span> : : }</a> -<a name="1734"><span class="lineNum"> 1734 </span> : : </a> -<a name="1735"><span class="lineNum"> 1735 </span> : : /* ibm,link-speed is in bps and nvidia,link-speed is ~magic~ */</a> -<a name="1736"><span class="lineNum"> 1736 </span> :<span class="lineNoCov"> 0 : dt_add_property_u64s(node, "ibm,link-speed", speed);</span></a> -<a name="1737"><span class="lineNum"> 1737 </span> :<span class="lineNoCov"> 0 : dt_add_property_cells(node, "nvidia,link-speed", nvlink_speed);</span></a> -<a name="1738"><span class="lineNum"> 1738 </span> : : </a> -<a name="1739"><span class="lineNum"> 1739 </span> :<span class="lineNoCov"> 0 : dt_add_property_cells(node, DT_PRIVATE "occ-flag-pos",</span></a> -<a name="1740"><span class="lineNum"> 1740 </span> : : PPC_BIT(link->occ_flag_bit));</a> -<a name="1741"><span class="lineNum"> 1741 </span> : : }</a> -<a name="1742"><span class="lineNum"> 1742 </span> : : </a> -<a name="1743"><span class="lineNum"> 1743 </span> :<span class="lineNoCov"> 0 : dt_add_property_cells(npu, "ibm,npu-links", link_count);</span></a> -<a name="1744"><span class="lineNum"> 1744 </span> :<span class="lineNoCov"> 0 : }</span></a> -<a name="1745"><span class="lineNum"> 1745 </span> : : </a> -<a name="1746"><span class="lineNum"> 1746 </span> :<span class="lineCov"> 2 : static void add_npus(void)</span></a> -<a name="1747"><span class="lineNum"> 1747 </span> : : {</a> -<a name="1748"><span class="lineNum"> 1748 </span> : : struct dt_node *xscom;</a> -<a name="1749"><span class="lineNum"> 1749 </span> :<span class="lineCov"> 2 : int npu_index = 0;</span></a> -<a name="1750"><span class="lineNum"> 1750 </span> : : </a> -<a name="1751"><span class="lineNum"> 1751 </span> : : /* Only consult HDAT for npu2 */</a> -<a name="1752"><span class="lineNum"> 1752 </span> :<span class="lineCov"> 2 : if (cpu_type != PVR_TYPE_P9)</span></a> -<a name="1753"><span class="lineNum"> 1753 </span> :<span class="lineCov"> 2 : return;</span></a> +<a name="1676"><span class="lineNum"> 1676 </span> :<span class="lineCov"> 1 : static void add_npus(void)</span></a> +<a name="1677"><span class="lineNum"> 1677 </span> : : {</a> +<a name="1678"><span class="lineNum"> 1678 </span> : : struct dt_node *xscom;</a> +<a name="1679"><span class="lineNum"> 1679 </span> :<span class="lineCov"> 1 : int npu_index = 0;</span></a> +<a name="1680"><span class="lineNum"> 1680 </span> : : </a> +<a name="1681"><span class="lineNum"> 1681 </span> : : /* Only consult HDAT for npu2 */</a> +<a name="1682"><span class="lineNum"> 1682 </span> :<span class="lineCov"> 1 : if (cpu_type != PVR_TYPE_P9)</span></a> +<a name="1683"><span class="lineNum"> 1683 </span> :<span class="lineCov"> 1 : return;</span></a> +<a name="1684"><span class="lineNum"> 1684 </span> : : </a> +<a name="1685"><span class="lineNum"> 1685 </span> :<span class="lineNoCov"> 0 : dt_for_each_compatible(dt_root, xscom, "ibm,xscom") {</span></a> +<a name="1686"><span class="lineNum"> 1686 </span> : : const struct HDIF_array_hdr *links;</a> +<a name="1687"><span class="lineNum"> 1687 </span> : : </a> +<a name="1688"><span class="lineNum"> 1688 </span> :<span class="lineNoCov"> 0 : links = xscom_to_pcrd(xscom, SPPCRD_IDATA_SMP_LINK);</span></a> +<a name="1689"><span class="lineNum"> 1689 </span> :<span class="lineNoCov"> 0 : if (!links) {</span></a> +<a name="1690"><span class="lineNum"> 1690 </span> :<span class="lineNoCov"> 0 : prerror("NPU: Unable to find matching SPPCRD for %s\n",</span></a> +<a name="1691"><span class="lineNum"> 1691 </span> : : xscom->name);</a> +<a name="1692"><span class="lineNum"> 1692 </span> :<span class="lineNoCov"> 0 : continue;</span></a> +<a name="1693"><span class="lineNum"> 1693 </span> : : }</a> +<a name="1694"><span class="lineNum"> 1694 </span> : : </a> +<a name="1695"><span class="lineNum"> 1695 </span> : : /* should never happen, but stranger things have */</a> +<a name="1696"><span class="lineNum"> 1696 </span> :<span class="lineNoCov"> 0 : if (!dt_find_by_name(dt_root, "ibm,pcie-slots")) {</span></a> +<a name="1697"><span class="lineNum"> 1697 </span> :<span class="lineNoCov"> 0 : prerror("PCIe slot information missing, can't add npu");</span></a> +<a name="1698"><span class="lineNum"> 1698 </span> :<span class="lineNoCov"> 0 : continue;</span></a> +<a name="1699"><span class="lineNum"> 1699 </span> : : }</a> +<a name="1700"><span class="lineNum"> 1700 </span> : : </a> +<a name="1701"><span class="lineNum"> 1701 </span> : : /* some hostboots will give us an empty array */</a> +<a name="1702"><span class="lineNum"> 1702 </span> :<span class="lineNoCov"> 0 : if (be32_to_cpu(links->ecnt))</span></a> +<a name="1703"><span class="lineNum"> 1703 </span> :<span class="lineNoCov"> 0 : add_npu(xscom, links, npu_index++);</span></a> +<a name="1704"><span class="lineNum"> 1704 </span> : : }</a> +<a name="1705"><span class="lineNum"> 1705 </span> : : }</a> +<a name="1706"><span class="lineNum"> 1706 </span> : : </a> +<a name="1707"><span class="lineNum"> 1707 </span> : : /*</a> +<a name="1708"><span class="lineNum"> 1708 </span> : : * SPIRA-S is initialized and provided by boot firmware. Check the SPIRA-S</a> +<a name="1709"><span class="lineNum"> 1709 </span> : : * signature to confirm it was provided.</a> +<a name="1710"><span class="lineNum"> 1710 </span> : : */</a> +<a name="1711"><span class="lineNum"> 1711 </span> :<span class="lineCov"> 1 : static bool find_spiras(void)</span></a> +<a name="1712"><span class="lineNum"> 1712 </span> : : {</a> +<a name="1713"><span class="lineNum"> 1713 </span> : : #if !defined(TEST)</a> +<a name="1714"><span class="lineNum"> 1714 </span> : : spiras = (struct spiras *)SPIRA_HEAP_BASE;</a> +<a name="1715"><span class="lineNum"> 1715 </span> : : #endif</a> +<a name="1716"><span class="lineNum"> 1716 </span> : : </a> +<a name="1717"><span class="lineNum"> 1717 </span> : : /* Validate SPIRA-S signature */</a> +<a name="1718"><span class="lineNum"> 1718 </span> :<span class="lineCov"> 1 : if (!spiras)</span></a> +<a name="1719"><span class="lineNum"> 1719 </span> :<span class="lineNoCov"> 0 : return false;</span></a> +<a name="1720"><span class="lineNum"> 1720 </span> :<span class="lineCov"> 1 : if (!HDIF_check(&spiras->hdr, SPIRAS_HDIF_SIG))</span></a> +<a name="1721"><span class="lineNum"> 1721 </span> :<span class="lineNoCov"> 0 : return false;</span></a> +<a name="1722"><span class="lineNum"> 1722 </span> : : </a> +<a name="1723"><span class="lineNum"> 1723 </span> :<span class="lineCov"> 1 : prlog(PR_DEBUG, "SPIRA-S found.\n");</span></a> +<a name="1724"><span class="lineNum"> 1724 </span> :<span class="lineCov"> 1 : return true;</span></a> +<a name="1725"><span class="lineNum"> 1725 </span> : : }</a> +<a name="1726"><span class="lineNum"> 1726 </span> : : </a> +<a name="1727"><span class="lineNum"> 1727 </span> : : /*</a> +<a name="1728"><span class="lineNum"> 1728 </span> : : * All the data structure addresses are relative to payload base. Hence adjust</a> +<a name="1729"><span class="lineNum"> 1729 </span> : : * structures that are needed to capture OPAL dump during MPIPL.</a> +<a name="1730"><span class="lineNum"> 1730 </span> : : */</a> +<a name="1731"><span class="lineNum"> 1731 </span> :<span class="lineCov"> 1 : static void update_spirah_addr(void)</span></a> +<a name="1732"><span class="lineNum"> 1732 </span> : : {</a> +<a name="1733"><span class="lineNum"> 1733 </span> : : #if !defined(TEST)</a> +<a name="1734"><span class="lineNum"> 1734 </span> : : if (proc_gen < proc_gen_p9)</a> +<a name="1735"><span class="lineNum"> 1735 </span> : : return;</a> +<a name="1736"><span class="lineNum"> 1736 </span> : : </a> +<a name="1737"><span class="lineNum"> 1737 </span> : : naca.spirah_addr = CPU_TO_BE64(SPIRAH_OFF);</a> +<a name="1738"><span class="lineNum"> 1738 </span> : : naca.spira_addr = 0;</a> +<a name="1739"><span class="lineNum"> 1739 </span> : : spirah.ntuples.hs_data_area.addr = CPU_TO_BE64(SPIRA_HEAP_BASE - SKIBOOT_BASE);</a> +<a name="1740"><span class="lineNum"> 1740 </span> : : spirah.ntuples.mdump_res.addr = CPU_TO_BE64(MDRT_TABLE_BASE - SKIBOOT_BASE);</a> +<a name="1741"><span class="lineNum"> 1741 </span> : : #endif</a> +<a name="1742"><span class="lineNum"> 1742 </span> :<span class="lineCov"> 1 : }</span></a> +<a name="1743"><span class="lineNum"> 1743 </span> : : </a> +<a name="1744"><span class="lineNum"> 1744 </span> :<span class="lineCov"> 1 : int parse_hdat(bool is_opal)</span></a> +<a name="1745"><span class="lineNum"> 1745 </span> : : {</a> +<a name="1746"><span class="lineNum"> 1746 </span> :<span class="lineCov"> 1 : cpu_type = PVR_TYPE(mfspr(SPR_PVR));</span></a> +<a name="1747"><span class="lineNum"> 1747 </span> : : </a> +<a name="1748"><span class="lineNum"> 1748 </span> :<span class="lineCov"> 1 : prlog(PR_DEBUG, "Parsing HDAT...\n");</span></a> +<a name="1749"><span class="lineNum"> 1749 </span> : : </a> +<a name="1750"><span class="lineNum"> 1750 </span> :<span class="lineCov"> 1 : if (!find_spiras()) {</span></a> +<a name="1751"><span class="lineNum"> 1751 </span> :<span class="lineNoCov"> 0 : prlog(PR_ERR, "SPIRA-S not found.\n");</span></a> +<a name="1752"><span class="lineNum"> 1752 </span> :<span class="lineNoCov"> 0 : return -1;</span></a> +<a name="1753"><span class="lineNum"> 1753 </span> : : }</a> <a name="1754"><span class="lineNum"> 1754 </span> : : </a> -<a name="1755"><span class="lineNum"> 1755 </span> :<span class="lineNoCov"> 0 : dt_for_each_compatible(dt_root, xscom, "ibm,xscom") {</span></a> -<a name="1756"><span class="lineNum"> 1756 </span> : : const struct HDIF_array_hdr *links;</a> -<a name="1757"><span class="lineNum"> 1757 </span> : : </a> -<a name="1758"><span class="lineNum"> 1758 </span> :<span class="lineNoCov"> 0 : links = xscom_to_pcrd(xscom, SPPCRD_IDATA_SMP_LINK);</span></a> -<a name="1759"><span class="lineNum"> 1759 </span> :<span class="lineNoCov"> 0 : if (!links) {</span></a> -<a name="1760"><span class="lineNum"> 1760 </span> :<span class="lineNoCov"> 0 : prerror("NPU: Unable to find matching SPPCRD for %s\n",</span></a> -<a name="1761"><span class="lineNum"> 1761 </span> : : xscom->name);</a> -<a name="1762"><span class="lineNum"> 1762 </span> :<span class="lineNoCov"> 0 : continue;</span></a> -<a name="1763"><span class="lineNum"> 1763 </span> : : }</a> -<a name="1764"><span class="lineNum"> 1764 </span> : : </a> -<a name="1765"><span class="lineNum"> 1765 </span> : : /* should never happen, but stranger things have */</a> -<a name="1766"><span class="lineNum"> 1766 </span> :<span class="lineNoCov"> 0 : if (!dt_find_by_name(dt_root, "ibm,pcie-slots")) {</span></a> -<a name="1767"><span class="lineNum"> 1767 </span> :<span class="lineNoCov"> 0 : prerror("PCIe slot information missing, can't add npu");</span></a> -<a name="1768"><span class="lineNum"> 1768 </span> :<span class="lineNoCov"> 0 : continue;</span></a> -<a name="1769"><span class="lineNum"> 1769 </span> : : }</a> -<a name="1770"><span class="lineNum"> 1770 </span> : : </a> -<a name="1771"><span class="lineNum"> 1771 </span> : : /* some hostboots will give us an empty array */</a> -<a name="1772"><span class="lineNum"> 1772 </span> :<span class="lineNoCov"> 0 : if (be32_to_cpu(links->ecnt))</span></a> -<a name="1773"><span class="lineNum"> 1773 </span> :<span class="lineNoCov"> 0 : add_npu(xscom, links, npu_index++);</span></a> -<a name="1774"><span class="lineNum"> 1774 </span> : : }</a> -<a name="1775"><span class="lineNum"> 1775 </span> : : }</a> -<a name="1776"><span class="lineNum"> 1776 </span> : : </a> -<a name="1777"><span class="lineNum"> 1777 </span> : : /*</a> -<a name="1778"><span class="lineNum"> 1778 </span> : : * Legacy SPIRA is being deprecated and we have new SPIRA-H/S structures.</a> -<a name="1779"><span class="lineNum"> 1779 </span> : : * But on older system (p7?) we will continue to get legacy SPIRA.</a> -<a name="1780"><span class="lineNum"> 1780 </span> : : *</a> -<a name="1781"><span class="lineNum"> 1781 </span> : : * SPIRA-S is initialized and provided by FSP. We use SPIRA-S signature</a> -<a name="1782"><span class="lineNum"> 1782 </span> : : * to identify supported format. Also if required adjust spira pointer.</a> -<a name="1783"><span class="lineNum"> 1783 </span> : : */</a> -<a name="1784"><span class="lineNum"> 1784 </span> :<span class="lineCov"> 2 : static void fixup_spira(void)</span></a> -<a name="1785"><span class="lineNum"> 1785 </span> : : {</a> -<a name="1786"><span class="lineNum"> 1786 </span> : : #if !defined(TEST)</a> -<a name="1787"><span class="lineNum"> 1787 </span> : : spiras = (struct spiras *)SPIRA_HEAP_BASE;</a> -<a name="1788"><span class="lineNum"> 1788 </span> : : #endif</a> -<a name="1789"><span class="lineNum"> 1789 </span> : : </a> -<a name="1790"><span class="lineNum"> 1790 </span> : : /* Validate SPIRA-S signature */</a> -<a name="1791"><span class="lineNum"> 1791 </span> :<span class="lineCov"> 2 : if (!spiras)</span></a> -<a name="1792"><span class="lineNum"> 1792 </span> :<span class="lineCov"> 1 : return;</span></a> -<a name="1793"><span class="lineNum"> 1793 </span> :<span class="lineCov"> 1 : if (!HDIF_check(&spiras->hdr, SPIRAS_HDIF_SIG))</span></a> -<a name="1794"><span class="lineNum"> 1794 </span> :<span class="lineNoCov"> 0 : return;</span></a> -<a name="1795"><span class="lineNum"> 1795 </span> : : </a> -<a name="1796"><span class="lineNum"> 1796 </span> :<span class="lineCov"> 1 : prlog(PR_DEBUG, "SPIRA-S found.\n");</span></a> +<a name="1755"><span class="lineNum"> 1755 </span> :<span class="lineCov"> 1 : update_spirah_addr();</span></a> +<a name="1756"><span class="lineNum"> 1756 </span> : : </a> +<a name="1757"><span class="lineNum"> 1757 </span> : : /*</a> +<a name="1758"><span class="lineNum"> 1758 </span> : : * Basic DT root stuff</a> +<a name="1759"><span class="lineNum"> 1759 </span> : : */</a> +<a name="1760"><span class="lineNum"> 1760 </span> :<span class="lineCov"> 1 : dt_add_property_cells(dt_root, "#address-cells", 2);</span></a> +<a name="1761"><span class="lineNum"> 1761 </span> :<span class="lineCov"> 1 : dt_add_property_cells(dt_root, "#size-cells", 2);</span></a> +<a name="1762"><span class="lineNum"> 1762 </span> : : </a> +<a name="1763"><span class="lineNum"> 1763 </span> :<span class="lineCov"> 1 : if (proc_gen < proc_gen_p9)</span></a> +<a name="1764"><span class="lineNum"> 1764 </span> :<span class="lineCov"> 1 : dt_add_property_string(dt_root, "lid-type", is_opal ? "opal" : "phyp");</span></a> +<a name="1765"><span class="lineNum"> 1765 </span> : : </a> +<a name="1766"><span class="lineNum"> 1766 </span> : : /* Add any BMCs and enable the LPC UART */</a> +<a name="1767"><span class="lineNum"> 1767 </span> :<span class="lineCov"> 1 : bmc_parse();</span></a> +<a name="1768"><span class="lineNum"> 1768 </span> : : </a> +<a name="1769"><span class="lineNum"> 1769 </span> : : /* Create and populate /vpd node */</a> +<a name="1770"><span class="lineNum"> 1770 </span> :<span class="lineCov"> 1 : dt_init_vpd_node();</span></a> +<a name="1771"><span class="lineNum"> 1771 </span> : : </a> +<a name="1772"><span class="lineNum"> 1772 </span> : : /* Create /ibm,opal/led node */</a> +<a name="1773"><span class="lineNum"> 1773 </span> :<span class="lineCov"> 1 : dt_init_led_node();</span></a> +<a name="1774"><span class="lineNum"> 1774 </span> : : </a> +<a name="1775"><span class="lineNum"> 1775 </span> : : /* Parse PCIA */</a> +<a name="1776"><span class="lineNum"> 1776 </span> :<span class="lineCov"> 1 : if (!pcia_parse())</span></a> +<a name="1777"><span class="lineNum"> 1777 </span> :<span class="lineNoCov"> 0 : return -1;</span></a> +<a name="1778"><span class="lineNum"> 1778 </span> : : </a> +<a name="1779"><span class="lineNum"> 1779 </span> : : /* IPL params */</a> +<a name="1780"><span class="lineNum"> 1780 </span> :<span class="lineCov"> 1 : add_iplparams();</span></a> +<a name="1781"><span class="lineNum"> 1781 </span> : : </a> +<a name="1782"><span class="lineNum"> 1782 </span> : : /* Add XSCOM node (must be before chiptod, IO and FSP) */</a> +<a name="1783"><span class="lineNum"> 1783 </span> :<span class="lineCov"> 1 : add_xscom();</span></a> +<a name="1784"><span class="lineNum"> 1784 </span> : : </a> +<a name="1785"><span class="lineNum"> 1785 </span> : : /* Parse MS VPD */</a> +<a name="1786"><span class="lineNum"> 1786 </span> :<span class="lineCov"> 1 : memory_parse();</span></a> +<a name="1787"><span class="lineNum"> 1787 </span> : : </a> +<a name="1788"><span class="lineNum"> 1788 </span> : : /* Add any FSPs */</a> +<a name="1789"><span class="lineNum"> 1789 </span> :<span class="lineCov"> 1 : fsp_parse();</span></a> +<a name="1790"><span class="lineNum"> 1790 </span> : : </a> +<a name="1791"><span class="lineNum"> 1791 </span> : : /* Add ChipTOD's */</a> +<a name="1792"><span class="lineNum"> 1792 </span> :<span class="lineCov"> 1 : if (!add_chiptod())</span></a> +<a name="1793"><span class="lineNum"> 1793 </span> :<span class="lineNoCov"> 0 : prerror("CHIPTOD: No ChipTOD found !\n");</span></a> +<a name="1794"><span class="lineNum"> 1794 </span> : : </a> +<a name="1795"><span class="lineNum"> 1795 </span> : : /* Add NX */</a> +<a name="1796"><span class="lineNum"> 1796 </span> :<span class="lineCov"> 1 : add_nx();</span></a> <a name="1797"><span class="lineNum"> 1797 </span> : : </a> -<a name="1798"><span class="lineNum"> 1798 </span> :<span class="lineCov"> 1 : spira.ntuples.sp_subsys = spiras->ntuples.sp_subsys;</span></a> -<a name="1799"><span class="lineNum"> 1799 </span> :<span class="lineCov"> 1 : spira.ntuples.ipl_parms = spiras->ntuples.ipl_parms;</span></a> -<a name="1800"><span class="lineNum"> 1800 </span> :<span class="lineCov"> 1 : spira.ntuples.nt_enclosure_vpd = spiras->ntuples.nt_enclosure_vpd;</span></a> -<a name="1801"><span class="lineNum"> 1801 </span> :<span class="lineCov"> 1 : spira.ntuples.slca = spiras->ntuples.slca;</span></a> -<a name="1802"><span class="lineNum"> 1802 </span> :<span class="lineCov"> 1 : spira.ntuples.backplane_vpd = spiras->ntuples.backplane_vpd;</span></a> -<a name="1803"><span class="lineNum"> 1803 </span> :<span class="lineCov"> 1 : spira.ntuples.system_vpd = spiras->ntuples.system_vpd;</span></a> -<a name="1804"><span class="lineNum"> 1804 </span> :<span class="lineCov"> 1 : spira.ntuples.proc_init = spirah.ntuples.proc_init;</span></a> -<a name="1805"><span class="lineNum"> 1805 </span> :<span class="lineCov"> 1 : spira.ntuples.clock_vpd = spiras->ntuples.clock_vpd;</span></a> -<a name="1806"><span class="lineNum"> 1806 </span> :<span class="lineCov"> 1 : spira.ntuples.anchor_vpd = spiras->ntuples.anchor_vpd;</span></a> -<a name="1807"><span class="lineNum"> 1807 </span> :<span class="lineCov"> 1 : spira.ntuples.op_panel_vpd = spiras->ntuples.op_panel_vpd;</span></a> -<a name="1808"><span class="lineNum"> 1808 </span> :<span class="lineCov"> 1 : spira.ntuples.misc_cec_fru_vpd = spiras->ntuples.misc_cec_fru_vpd;</span></a> -<a name="1809"><span class="lineNum"> 1809 </span> :<span class="lineCov"> 1 : spira.ntuples.ms_vpd = spiras->ntuples.ms_vpd;</span></a> -<a name="1810"><span class="lineNum"> 1810 </span> :<span class="lineCov"> 1 : spira.ntuples.cec_iohub_fru = spiras->ntuples.cec_iohub_fru;</span></a> -<a name="1811"><span class="lineNum"> 1811 </span> :<span class="lineCov"> 1 : spira.ntuples.cpu_ctrl = spirah.ntuples.cpu_ctrl;</span></a> -<a name="1812"><span class="lineNum"> 1812 </span> :<span class="lineCov"> 1 : spira.ntuples.mdump_src = spirah.ntuples.mdump_src;</span></a> -<a name="1813"><span class="lineNum"> 1813 </span> :<span class="lineCov"> 1 : spira.ntuples.mdump_dst = spirah.ntuples.mdump_dst;</span></a> -<a name="1814"><span class="lineNum"> 1814 </span> :<span class="lineCov"> 1 : spira.ntuples.mdump_res = spirah.ntuples.mdump_res;</span></a> -<a name="1815"><span class="lineNum"> 1815 </span> :<span class="lineCov"> 1 : spira.ntuples.proc_dump_area = spirah.ntuples.proc_dump_area;</span></a> -<a name="1816"><span class="lineNum"> 1816 </span> :<span class="lineCov"> 1 : spira.ntuples.pcia = spiras->ntuples.pcia;</span></a> -<a name="1817"><span class="lineNum"> 1817 </span> :<span class="lineCov"> 1 : spira.ntuples.proc_chip = spiras->ntuples.proc_chip;</span></a> -<a name="1818"><span class="lineNum"> 1818 </span> :<span class="lineCov"> 1 : spira.ntuples.hs_data = spiras->ntuples.hs_data;</span></a> -<a name="1819"><span class="lineNum"> 1819 </span> :<span class="lineCov"> 1 : spira.ntuples.ipmi_sensor = spiras->ntuples.ipmi_sensor;</span></a> -<a name="1820"><span class="lineNum"> 1820 </span> :<span class="lineCov"> 1 : spira.ntuples.node_stb_data = spiras->ntuples.node_stb_data;</span></a> -<a name="1821"><span class="lineNum"> 1821 </span> : : }</a> -<a name="1822"><span class="lineNum"> 1822 </span> : : </a> -<a name="1823"><span class="lineNum"> 1823 </span> : : /*</a> -<a name="1824"><span class="lineNum"> 1824 </span> : : * All the data structure addresses are relative to payload base. Hence adjust</a> -<a name="1825"><span class="lineNum"> 1825 </span> : : * structures that are needed to capture OPAL dump during MPIPL.</a> -<a name="1826"><span class="lineNum"> 1826 </span> : : */</a> -<a name="1827"><span class="lineNum"> 1827 </span> :<span class="lineCov"> 2 : static void update_spirah_addr(void)</span></a> -<a name="1828"><span class="lineNum"> 1828 </span> : : {</a> -<a name="1829"><span class="lineNum"> 1829 </span> : : #if !defined(TEST)</a> -<a name="1830"><span class="lineNum"> 1830 </span> : : if (proc_gen < proc_gen_p9)</a> -<a name="1831"><span class="lineNum"> 1831 </span> : : return;</a> -<a name="1832"><span class="lineNum"> 1832 </span> : : </a> -<a name="1833"><span class="lineNum"> 1833 </span> : : naca.spirah_addr = CPU_TO_BE64(SPIRAH_OFF);</a> -<a name="1834"><span class="lineNum"> 1834 </span> : : naca.spira_addr = CPU_TO_BE64(SPIRA_OFF);</a> -<a name="1835"><span class="lineNum"> 1835 </span> : : spirah.ntuples.hs_data_area.addr = CPU_TO_BE64(SPIRA_HEAP_BASE - SKIBOOT_BASE);</a> -<a name="1836"><span class="lineNum"> 1836 </span> : : spirah.ntuples.mdump_res.addr = CPU_TO_BE64(MDRT_TABLE_BASE - SKIBOOT_BASE);</a> -<a name="1837"><span class="lineNum"> 1837 </span> : : #endif</a> -<a name="1838"><span class="lineNum"> 1838 </span> :<span class="lineCov"> 2 : }</span></a> -<a name="1839"><span class="lineNum"> 1839 </span> : : </a> -<a name="1840"><span class="lineNum"> 1840 </span> :<span class="lineCov"> 2 : int parse_hdat(bool is_opal)</span></a> -<a name="1841"><span class="lineNum"> 1841 </span> : : {</a> -<a name="1842"><span class="lineNum"> 1842 </span> :<span class="lineCov"> 2 : cpu_type = PVR_TYPE(mfspr(SPR_PVR));</span></a> -<a name="1843"><span class="lineNum"> 1843 </span> : : </a> -<a name="1844"><span class="lineNum"> 1844 </span> :<span class="lineCov"> 2 : prlog(PR_DEBUG, "Parsing HDAT...\n");</span></a> -<a name="1845"><span class="lineNum"> 1845 </span> : : </a> -<a name="1846"><span class="lineNum"> 1846 </span> :<span class="lineCov"> 2 : fixup_spira();</span></a> -<a name="1847"><span class="lineNum"> 1847 </span> : : </a> -<a name="1848"><span class="lineNum"> 1848 </span> :<span class="lineCov"> 2 : update_spirah_addr();</span></a> -<a name="1849"><span class="lineNum"> 1849 </span> : : </a> -<a name="1850"><span class="lineNum"> 1850 </span> : : /*</a> -<a name="1851"><span class="lineNum"> 1851 </span> : : * Basic DT root stuff</a> -<a name="1852"><span class="lineNum"> 1852 </span> : : */</a> -<a name="1853"><span class="lineNum"> 1853 </span> :<span class="lineCov"> 2 : dt_add_property_cells(dt_root, "#address-cells", 2);</span></a> -<a name="1854"><span class="lineNum"> 1854 </span> :<span class="lineCov"> 2 : dt_add_property_cells(dt_root, "#size-cells", 2);</span></a> -<a name="1855"><span class="lineNum"> 1855 </span> : : </a> -<a name="1856"><span class="lineNum"> 1856 </span> :<span class="lineCov"> 2 : if (proc_gen < proc_gen_p9)</span></a> -<a name="1857"><span class="lineNum"> 1857 </span> :<span class="lineCov"> 2 : dt_add_property_string(dt_root, "lid-type", is_opal ? "opal" : "phyp");</span></a> -<a name="1858"><span class="lineNum"> 1858 </span> : : </a> -<a name="1859"><span class="lineNum"> 1859 </span> : : /* Add any BMCs and enable the LPC UART */</a> -<a name="1860"><span class="lineNum"> 1860 </span> :<span class="lineCov"> 2 : bmc_parse();</span></a> -<a name="1861"><span class="lineNum"> 1861 </span> : : </a> -<a name="1862"><span class="lineNum"> 1862 </span> : : /* Create and populate /vpd node */</a> -<a name="1863"><span class="lineNum"> 1863 </span> :<span class="lineCov"> 2 : dt_init_vpd_node();</span></a> -<a name="1864"><span class="lineNum"> 1864 </span> : : </a> -<a name="1865"><span class="lineNum"> 1865 </span> : : /* Create /ibm,opal/led node */</a> -<a name="1866"><span class="lineNum"> 1866 </span> :<span class="lineCov"> 2 : dt_init_led_node();</span></a> -<a name="1867"><span class="lineNum"> 1867 </span> : : </a> -<a name="1868"><span class="lineNum"> 1868 </span> : : /* Parse PCIA */</a> -<a name="1869"><span class="lineNum"> 1869 </span> :<span class="lineCov"> 2 : if (!pcia_parse())</span></a> -<a name="1870"><span class="lineNum"> 1870 </span> :<span class="lineNoCov"> 0 : return -1;</span></a> -<a name="1871"><span class="lineNum"> 1871 </span> : : </a> -<a name="1872"><span class="lineNum"> 1872 </span> : : /* IPL params */</a> -<a name="1873"><span class="lineNum"> 1873 </span> :<span class="lineCov"> 2 : add_iplparams();</span></a> -<a name="1874"><span class="lineNum"> 1874 </span> : : </a> -<a name="1875"><span class="lineNum"> 1875 </span> : : /* Add XSCOM node (must be before chiptod, IO and FSP) */</a> -<a name="1876"><span class="lineNum"> 1876 </span> :<span class="lineCov"> 2 : add_xscom();</span></a> -<a name="1877"><span class="lineNum"> 1877 </span> : : </a> -<a name="1878"><span class="lineNum"> 1878 </span> : : /* Parse MS VPD */</a> -<a name="1879"><span class="lineNum"> 1879 </span> :<span class="lineCov"> 2 : memory_parse();</span></a> -<a name="1880"><span class="lineNum"> 1880 </span> : : </a> -<a name="1881"><span class="lineNum"> 1881 </span> : : /* Add any FSPs */</a> -<a name="1882"><span class="lineNum"> 1882 </span> :<span class="lineCov"> 2 : fsp_parse();</span></a> -<a name="1883"><span class="lineNum"> 1883 </span> : : </a> -<a name="1884"><span class="lineNum"> 1884 </span> : : /* Add ChipTOD's */</a> -<a name="1885"><span class="lineNum"> 1885 </span> :<span class="lineCov"> 2 : if (!add_chiptod_old() && !add_chiptod_new())</span></a> -<a name="1886"><span class="lineNum"> 1886 </span> :<span class="lineNoCov"> 0 : prerror("CHIPTOD: No ChipTOD found !\n");</span></a> -<a name="1887"><span class="lineNum"> 1887 </span> : : </a> -<a name="1888"><span class="lineNum"> 1888 </span> : : /* Add NX */</a> -<a name="1889"><span class="lineNum"> 1889 </span> :<span class="lineCov"> 2 : add_nx();</span></a> -<a name="1890"><span class="lineNum"> 1890 </span> : : </a> -<a name="1891"><span class="lineNum"> 1891 </span> : : /* Add nest mmu */</a> -<a name="1892"><span class="lineNum"> 1892 </span> :<span class="lineCov"> 2 : add_nmmu();</span></a> -<a name="1893"><span class="lineNum"> 1893 </span> : : </a> -<a name="1894"><span class="lineNum"> 1894 </span> : : /* Add IO HUBs and/or PHBs */</a> -<a name="1895"><span class="lineNum"> 1895 </span> :<span class="lineCov"> 2 : io_parse();</span></a> -<a name="1896"><span class="lineNum"> 1896 </span> : : </a> -<a name="1897"><span class="lineNum"> 1897 </span> : : /* Add NPU nodes */</a> -<a name="1898"><span class="lineNum"> 1898 </span> :<span class="lineCov"> 2 : add_npus();</span></a> -<a name="1899"><span class="lineNum"> 1899 </span> : : </a> -<a name="1900"><span class="lineNum"> 1900 </span> : : /* Parse VPD */</a> -<a name="1901"><span class="lineNum"> 1901 </span> :<span class="lineCov"> 2 : vpd_parse();</span></a> -<a name="1902"><span class="lineNum"> 1902 </span> : : </a> -<a name="1903"><span class="lineNum"> 1903 </span> : : /* Host services information. */</a> -<a name="1904"><span class="lineNum"> 1904 </span> :<span class="lineCov"> 2 : hostservices_parse();</span></a> -<a name="1905"><span class="lineNum"> 1905 </span> : : </a> -<a name="1906"><span class="lineNum"> 1906 </span> : : /* Parse System Attention Indicator inforamtion */</a> -<a name="1907"><span class="lineNum"> 1907 </span> :<span class="lineCov"> 2 : slca_dt_add_sai_node();</span></a> -<a name="1908"><span class="lineNum"> 1908 </span> : : </a> -<a name="1909"><span class="lineNum"> 1909 </span> :<span class="lineCov"> 2 : add_stop_levels();</span></a> -<a name="1910"><span class="lineNum"> 1910 </span> : : </a> -<a name="1911"><span class="lineNum"> 1911 </span> : : /* Parse node secure and trusted boot data */</a> -<a name="1912"><span class="lineNum"> 1912 </span> :<span class="lineCov"> 2 : if (proc_gen >= proc_gen_p9)</span></a> -<a name="1913"><span class="lineNum"> 1913 </span> :<span class="lineNoCov"> 0 : node_stb_parse();</span></a> -<a name="1914"><span class="lineNum"> 1914 </span> : : </a> -<a name="1915"><span class="lineNum"> 1915 </span> :<span class="lineCov"> 2 : prlog(PR_DEBUG, "Parsing HDAT...done\n");</span></a> -<a name="1916"><span class="lineNum"> 1916 </span> : : </a> -<a name="1917"><span class="lineNum"> 1917 </span> :<span class="lineCov"> 2 : return 0;</span></a> -<a name="1918"><span class="lineNum"> 1918 </span> : : }</a> +<a name="1798"><span class="lineNum"> 1798 </span> : : /* Add nest mmu */</a> +<a name="1799"><span class="lineNum"> 1799 </span> :<span class="lineCov"> 1 : add_nmmu();</span></a> +<a name="1800"><span class="lineNum"> 1800 </span> : : </a> +<a name="1801"><span class="lineNum"> 1801 </span> : : /* Add IO HUBs and/or PHBs */</a> +<a name="1802"><span class="lineNum"> 1802 </span> :<span class="lineCov"> 1 : io_parse();</span></a> +<a name="1803"><span class="lineNum"> 1803 </span> : : </a> +<a name="1804"><span class="lineNum"> 1804 </span> : : /* Add NPU nodes */</a> +<a name="1805"><span class="lineNum"> 1805 </span> :<span class="lineCov"> 1 : add_npus();</span></a> +<a name="1806"><span class="lineNum"> 1806 </span> : : </a> +<a name="1807"><span class="lineNum"> 1807 </span> : : /* Parse VPD */</a> +<a name="1808"><span class="lineNum"> 1808 </span> :<span class="lineCov"> 1 : vpd_parse();</span></a> +<a name="1809"><span class="lineNum"> 1809 </span> : : </a> +<a name="1810"><span class="lineNum"> 1810 </span> : : /* Host services information. */</a> +<a name="1811"><span class="lineNum"> 1811 </span> :<span class="lineCov"> 1 : hostservices_parse();</span></a> +<a name="1812"><span class="lineNum"> 1812 </span> : : </a> +<a name="1813"><span class="lineNum"> 1813 </span> : : /* Parse System Attention Indicator inforamtion */</a> +<a name="1814"><span class="lineNum"> 1814 </span> :<span class="lineCov"> 1 : slca_dt_add_sai_node();</span></a> +<a name="1815"><span class="lineNum"> 1815 </span> : : </a> +<a name="1816"><span class="lineNum"> 1816 </span> :<span class="lineCov"> 1 : add_stop_levels();</span></a> +<a name="1817"><span class="lineNum"> 1817 </span> : : </a> +<a name="1818"><span class="lineNum"> 1818 </span> : : /* Parse node secure and trusted boot data */</a> +<a name="1819"><span class="lineNum"> 1819 </span> :<span class="lineCov"> 1 : if (proc_gen >= proc_gen_p9)</span></a> +<a name="1820"><span class="lineNum"> 1820 </span> :<span class="lineNoCov"> 0 : node_stb_parse();</span></a> +<a name="1821"><span class="lineNum"> 1821 </span> : : </a> +<a name="1822"><span class="lineNum"> 1822 </span> :<span class="lineCov"> 1 : prlog(PR_DEBUG, "Parsing HDAT...done\n");</span></a> +<a name="1823"><span class="lineNum"> 1823 </span> : : </a> +<a name="1824"><span class="lineNum"> 1824 </span> :<span class="lineCov"> 1 : return 0;</span></a> +<a name="1825"><span class="lineNum"> 1825 </span> : : }</a> </pre> </td> </tr> diff --git a/coverage-report/hdata/spira.h.func-sort-c.html b/coverage-report/hdata/spira.h.func-sort-c.html index bef0247..a18041a 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">1</td> @@ -69,8 +69,8 @@ <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="spira.h.gcov.html#1249">cpu_state</a></td> - <td class="coverFnHi">26</td> + <td class="coverFn"><a href="spira.h.gcov.html#1194">cpu_state</a></td> + <td class="coverFnHi">6</td> </tr> </table> <br> diff --git a/coverage-report/hdata/spira.h.func.html b/coverage-report/hdata/spira.h.func.html index 6152d08..d52f4cf 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">1</td> @@ -69,8 +69,8 @@ <td width="20%" class="tableHead">Hit count <span class="tableHeadSort"><a href="spira.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> <tr> - <td class="coverFn"><a href="spira.h.gcov.html#1249">cpu_state</a></td> - <td class="coverFnHi">26</td> + <td class="coverFn"><a href="spira.h.gcov.html#1194">cpu_state</a></td> + <td class="coverFnHi">6</td> </tr> </table> <br> diff --git a/coverage-report/hdata/spira.h.gcov.html b/coverage-report/hdata/spira.h.gcov.html index 7092918..ab83932 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">1</td> @@ -78,1262 +78,1207 @@ <a name="7"><span class="lineNum"> 7 </span> : : #include "hdif.h"</a> <a name="8"><span class="lineNum"> 8 </span> : : </a> <a name="9"><span class="lineNum"> 9 </span> : : /*</a> -<a name="10"><span class="lineNum"> 10 </span> : : * The SPIRA structure</a> +<a name="10"><span class="lineNum"> 10 </span> : : * The SPIRA-H and SPIRA-S structures</a> <a name="11"><span class="lineNum"> 11 </span> : : *</a> -<a name="12"><span class="lineNum"> 12 </span> : : * NOTE: This is one of the only HDIF structure that we layout entirely</a> -<a name="13"><span class="lineNum"> 13 </span> : : * as a C struct because it's provided by us to the FSP. Almost everything</a> -<a name="14"><span class="lineNum"> 14 </span> : : * else is generated by the FSP, and thus must be "parsed" since the various</a> -<a name="15"><span class="lineNum"> 15 </span> : : * offsets and alignments might change.</a> -<a name="16"><span class="lineNum"> 16 </span> : : */</a> -<a name="17"><span class="lineNum"> 17 </span> : : </a> -<a name="18"><span class="lineNum"> 18 </span> : : #define SPIRA_VERSION 0x20 /* Like 730 ? */</a> -<a name="19"><span class="lineNum"> 19 </span> : : </a> -<a name="20"><span class="lineNum"> 20 </span> : : struct spira_ntuple {</a> -<a name="21"><span class="lineNum"> 21 </span> : : __be64 addr;</a> -<a name="22"><span class="lineNum"> 22 </span> : : __be16 alloc_cnt;</a> -<a name="23"><span class="lineNum"> 23 </span> : : __be16 act_cnt;</a> -<a name="24"><span class="lineNum"> 24 </span> : : __be32 alloc_len;</a> -<a name="25"><span class="lineNum"> 25 </span> : : __be32 act_len;</a> -<a name="26"><span class="lineNum"> 26 </span> : : __be32 tce_off;</a> -<a name="27"><span class="lineNum"> 27 </span> : : __be64 padding;</a> -<a name="28"><span class="lineNum"> 28 </span> : : } __packed;</a> -<a name="29"><span class="lineNum"> 29 </span> : : </a> -<a name="30"><span class="lineNum"> 30 </span> : : #define SPIRA_NTUPLES_COUNT 0x19</a> +<a name="12"><span class="lineNum"> 12 </span> : : * SPIRA-H is built in the primary hypervisor (skiboot) lid, pointed to by</a> +<a name="13"><span class="lineNum"> 13 </span> : : * the NACA and provides details to the boot firmware.</a> +<a name="14"><span class="lineNum"> 14 </span> : : *</a> +<a name="15"><span class="lineNum"> 15 </span> : : * SPIRA-S is built at IPL time by the boot firmware at the host data area</a> +<a name="16"><span class="lineNum"> 16 </span> : : * location specified in SPIRA-H, and thus must be parsed.</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> : : struct spira_ntuple {</a> +<a name="20"><span class="lineNum"> 20 </span> : : __be64 addr;</a> +<a name="21"><span class="lineNum"> 21 </span> : : __be16 alloc_cnt;</a> +<a name="22"><span class="lineNum"> 22 </span> : : __be16 act_cnt;</a> +<a name="23"><span class="lineNum"> 23 </span> : : __be32 alloc_len;</a> +<a name="24"><span class="lineNum"> 24 </span> : : __be32 act_len;</a> +<a name="25"><span class="lineNum"> 25 </span> : : __be32 tce_off;</a> +<a name="26"><span class="lineNum"> 26 </span> : : __be64 padding;</a> +<a name="27"><span class="lineNum"> 27 </span> : : } __packed;</a> +<a name="28"><span class="lineNum"> 28 </span> : : </a> +<a name="29"><span class="lineNum"> 29 </span> : : /* SPIRA-H signature */</a> +<a name="30"><span class="lineNum"> 30 </span> : : #define SPIRAH_HDIF_SIG "SPIRAH"</a> <a name="31"><span class="lineNum"> 31 </span> : : </a> -<a name="32"><span class="lineNum"> 32 </span> : : struct spira_ntuples {</a> -<a name="33"><span class="lineNum"> 33 </span> : : struct HDIF_array_hdr array_hdr;</a> -<a name="34"><span class="lineNum"> 34 </span> : : struct spira_ntuple sp_subsys; /* 0x040 */</a> -<a name="35"><span class="lineNum"> 35 </span> : : struct spira_ntuple ipl_parms; /* 0x060 */</a> -<a name="36"><span class="lineNum"> 36 </span> : : struct spira_ntuple nt_enclosure_vpd; /* 0x080 */</a> -<a name="37"><span class="lineNum"> 37 </span> : : struct spira_ntuple slca; /* 0x0a0 */</a> -<a name="38"><span class="lineNum"> 38 </span> : : struct spira_ntuple backplane_vpd; /* 0x0c0 */</a> -<a name="39"><span class="lineNum"> 39 </span> : : struct spira_ntuple system_vpd; /* 0x0e0 */</a> -<a name="40"><span class="lineNum"> 40 </span> : : struct spira_ntuple chip_tod; /* 0x100 */</a> -<a name="41"><span class="lineNum"> 41 </span> : : struct spira_ntuple proc_init; /* 0x120 */</a> -<a name="42"><span class="lineNum"> 42 </span> : : struct spira_ntuple clock_vpd; /* 0x140 */</a> -<a name="43"><span class="lineNum"> 43 </span> : : struct spira_ntuple anchor_vpd; /* 0x160 */</a> -<a name="44"><span class="lineNum"> 44 </span> : : struct spira_ntuple op_panel_vpd; /* 0x180 */</a> -<a name="45"><span class="lineNum"> 45 </span> : : struct spira_ntuple ext_cache_fru_vpd; /* 0x1a0 */</a> -<a name="46"><span class="lineNum"> 46 </span> : : struct spira_ntuple misc_cec_fru_vpd; /* 0x1c0 */</a> -<a name="47"><span class="lineNum"> 47 </span> : : struct spira_ntuple paca; /* 0x1e0 */</a> -<a name="48"><span class="lineNum"> 48 </span> : : struct spira_ntuple ms_vpd; /* 0x200 */</a> -<a name="49"><span class="lineNum"> 49 </span> : : struct spira_ntuple cec_iohub_fru; /* 0x220 */</a> -<a name="50"><span class="lineNum"> 50 </span> : : struct spira_ntuple cpu_ctrl; /* 0x240 */</a> -<a name="51"><span class="lineNum"> 51 </span> : : struct spira_ntuple mdump_src; /* 0x260 */</a> -<a name="52"><span class="lineNum"> 52 </span> : : struct spira_ntuple mdump_dst; /* 0x280 */</a> -<a name="53"><span class="lineNum"> 53 </span> : : struct spira_ntuple mdump_res; /* 0x2a0 */</a> -<a name="54"><span class="lineNum"> 54 </span> : : struct spira_ntuple heap; /* 0x2c0 */</a> -<a name="55"><span class="lineNum"> 55 </span> : : struct spira_ntuple pcia; /* 0x2e0 */</a> -<a name="56"><span class="lineNum"> 56 </span> : : struct spira_ntuple proc_chip; /* 0x300 */</a> -<a name="57"><span class="lineNum"> 57 </span> : : struct spira_ntuple hs_data; /* 0x320 */</a> -<a name="58"><span class="lineNum"> 58 </span> : : struct spira_ntuple ipmi_sensor; /* 0x360 */</a> -<a name="59"><span class="lineNum"> 59 </span> : : struct spira_ntuple node_stb_data; /* 0x380 */</a> -<a name="60"><span class="lineNum"> 60 </span> : : struct spira_ntuple proc_dump_area; /* 0x400 */</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> : : #define SPIRA_RESERVED_BYTES 0x60</a> -<a name="64"><span class="lineNum"> 64 </span> : : </a> -<a name="65"><span class="lineNum"> 65 </span> : : struct spira {</a> -<a name="66"><span class="lineNum"> 66 </span> : : struct HDIF_common_hdr hdr;</a> -<a name="67"><span class="lineNum"> 67 </span> : : struct HDIF_idata_ptr ntuples_ptr;</a> -<a name="68"><span class="lineNum"> 68 </span> : : __be64 pad;</a> -<a name="69"><span class="lineNum"> 69 </span> : : struct spira_ntuples ntuples;</a> -<a name="70"><span class="lineNum"> 70 </span> : : /*</a> -<a name="71"><span class="lineNum"> 71 </span> : : * We reserve 0xc0 rather than 0x4c0 so we fit SPIRAH/SPIRAS here</a> -<a name="72"><span class="lineNum"> 72 </span> : : * while preserving compatibility with existing P8 systems.</a> -<a name="73"><span class="lineNum"> 73 </span> : : *</a> -<a name="74"><span class="lineNum"> 74 </span> : : * According to FSP engineers, this is an okay thing to do.</a> -<a name="75"><span class="lineNum"> 75 </span> : : */</a> -<a name="76"><span class="lineNum"> 76 </span> : : u8 reserved[SPIRA_RESERVED_BYTES];</a> -<a name="77"><span class="lineNum"> 77 </span> : : } __packed __align(0x100);</a> -<a name="78"><span class="lineNum"> 78 </span> : : </a> -<a name="79"><span class="lineNum"> 79 </span> : : #define SPIRA_ACTUAL_SIZE (sizeof(struct spira) - SPIRA_RESERVED_BYTES)</a> -<a name="80"><span class="lineNum"> 80 </span> : : </a> -<a name="81"><span class="lineNum"> 81 </span> : : extern struct spira spira;</a> -<a name="82"><span class="lineNum"> 82 </span> : : </a> -<a name="83"><span class="lineNum"> 83 </span> : : /* SPIRA-H signature */</a> -<a name="84"><span class="lineNum"> 84 </span> : : #define SPIRAH_HDIF_SIG "SPIRAH"</a> -<a name="85"><span class="lineNum"> 85 </span> : : </a> -<a name="86"><span class="lineNum"> 86 </span> : : /* First version of the secure boot compliant design. */</a> -<a name="87"><span class="lineNum"> 87 </span> : : #define SPIRAH_VERSION 0x50</a> -<a name="88"><span class="lineNum"> 88 </span> : : </a> -<a name="89"><span class="lineNum"> 89 </span> : : /* N-tuples in SPIRAH */</a> -<a name="90"><span class="lineNum"> 90 </span> : : #define SPIRAH_NTUPLES_COUNT 0x6</a> -<a name="91"><span class="lineNum"> 91 </span> : : </a> -<a name="92"><span class="lineNum"> 92 </span> : : struct spirah_ntuples {</a> -<a name="93"><span class="lineNum"> 93 </span> : : struct HDIF_array_hdr array_hdr; /* 0x030 */</a> -<a name="94"><span class="lineNum"> 94 </span> : : struct spira_ntuple hs_data_area; /* 0x040 */</a> -<a name="95"><span class="lineNum"> 95 </span> : : struct spira_ntuple proc_init; /* 0x060 */</a> -<a name="96"><span class="lineNum"> 96 </span> : : struct spira_ntuple cpu_ctrl; /* 0x080 */</a> -<a name="97"><span class="lineNum"> 97 </span> : : struct spira_ntuple mdump_src; /* 0x0a0 */</a> -<a name="98"><span class="lineNum"> 98 </span> : : struct spira_ntuple mdump_dst; /* 0x0c0 */</a> -<a name="99"><span class="lineNum"> 99 </span> : : struct spira_ntuple mdump_res; /* 0x0e0 */</a> -<a name="100"><span class="lineNum"> 100 </span> : : struct spira_ntuple proc_dump_area; /* 0x100 */</a> -<a name="101"><span class="lineNum"> 101 </span> : : };</a> -<a name="102"><span class="lineNum"> 102 </span> : : </a> -<a name="103"><span class="lineNum"> 103 </span> : : struct spirah {</a> -<a name="104"><span class="lineNum"> 104 </span> : : struct HDIF_common_hdr hdr;</a> -<a name="105"><span class="lineNum"> 105 </span> : : struct HDIF_idata_ptr ntuples_ptr;</a> -<a name="106"><span class="lineNum"> 106 </span> : : __be64 pad;</a> -<a name="107"><span class="lineNum"> 107 </span> : : struct spirah_ntuples ntuples;</a> -<a name="108"><span class="lineNum"> 108 </span> : : u8 reserved[0xE0];</a> -<a name="109"><span class="lineNum"> 109 </span> : : } __packed __align(0x100);</a> -<a name="110"><span class="lineNum"> 110 </span> : : </a> -<a name="111"><span class="lineNum"> 111 </span> : : extern struct spirah spirah;</a> -<a name="112"><span class="lineNum"> 112 </span> : : </a> -<a name="113"><span class="lineNum"> 113 </span> : : /* SPIRA-S signature */</a> -<a name="114"><span class="lineNum"> 114 </span> : : #define SPIRAS_HDIF_SIG "SPIRAS"</a> -<a name="115"><span class="lineNum"> 115 </span> : : </a> -<a name="116"><span class="lineNum"> 116 </span> : : /* First version on 810 release */</a> -<a name="117"><span class="lineNum"> 117 </span> : : #define SPIRAS_VERSION_P8 0x40</a> -<a name="118"><span class="lineNum"> 118 </span> : : #define SPIRAS_VERSION_P9 0x50</a> -<a name="119"><span class="lineNum"> 119 </span> : : </a> -<a name="120"><span class="lineNum"> 120 </span> : : /* N-tuples in SPIRAS */</a> -<a name="121"><span class="lineNum"> 121 </span> : : #define SPIRAS_NTUPLES_COUNT 0x10</a> -<a name="122"><span class="lineNum"> 122 </span> : : </a> -<a name="123"><span class="lineNum"> 123 </span> : : struct spiras_ntuples {</a> -<a name="124"><span class="lineNum"> 124 </span> : : struct HDIF_array_hdr array_hdr; /* 0x030 */</a> -<a name="125"><span class="lineNum"> 125 </span> : : struct spira_ntuple sp_subsys; /* 0x040 */</a> -<a name="126"><span class="lineNum"> 126 </span> : : struct spira_ntuple ipl_parms; /* 0x060 */</a> -<a name="127"><span class="lineNum"> 127 </span> : : struct spira_ntuple nt_enclosure_vpd; /* 0x080 */</a> -<a name="128"><span class="lineNum"> 128 </span> : : struct spira_ntuple slca; /* 0x0a0 */</a> -<a name="129"><span class="lineNum"> 129 </span> : : struct spira_ntuple backplane_vpd; /* 0x0c0 */</a> -<a name="130"><span class="lineNum"> 130 </span> : : struct spira_ntuple system_vpd; /* 0x0e0 */</a> -<a name="131"><span class="lineNum"> 131 </span> : : struct spira_ntuple clock_vpd; /* 0x100 */</a> -<a name="132"><span class="lineNum"> 132 </span> : : struct spira_ntuple anchor_vpd; /* 0x120 */</a> -<a name="133"><span class="lineNum"> 133 </span> : : struct spira_ntuple op_panel_vpd; /* 0x140 */</a> -<a name="134"><span class="lineNum"> 134 </span> : : struct spira_ntuple misc_cec_fru_vpd; /* 0x160 */</a> -<a name="135"><span class="lineNum"> 135 </span> : : struct spira_ntuple ms_vpd; /* 0x180 */</a> -<a name="136"><span class="lineNum"> 136 </span> : : struct spira_ntuple cec_iohub_fru; /* 0x1a0 */</a> -<a name="137"><span class="lineNum"> 137 </span> : : struct spira_ntuple pcia; /* 0x1c0 */</a> -<a name="138"><span class="lineNum"> 138 </span> : : struct spira_ntuple proc_chip; /* 0x1e0 */</a> -<a name="139"><span class="lineNum"> 139 </span> : : struct spira_ntuple hs_data; /* 0x200 */</a> -<a name="140"><span class="lineNum"> 140 </span> : : struct spira_ntuple hbrt_data; /* 0x220 */</a> -<a name="141"><span class="lineNum"> 141 </span> : : struct spira_ntuple ipmi_sensor; /* 0x240 */</a> -<a name="142"><span class="lineNum"> 142 </span> : : struct spira_ntuple node_stb_data; /* 0x260 */</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> : : struct spiras {</a> -<a name="146"><span class="lineNum"> 146 </span> : : struct HDIF_common_hdr hdr;</a> -<a name="147"><span class="lineNum"> 147 </span> : : struct HDIF_idata_ptr ntuples_ptr;</a> -<a name="148"><span class="lineNum"> 148 </span> : : __be64 pad;</a> -<a name="149"><span class="lineNum"> 149 </span> : : struct spiras_ntuples ntuples;</a> -<a name="150"><span class="lineNum"> 150 </span> : : u8 reserved[0x180];</a> -<a name="151"><span class="lineNum"> 151 </span> : : } __packed __align(0x100);</a> -<a name="152"><span class="lineNum"> 152 </span> : : </a> -<a name="153"><span class="lineNum"> 153 </span> : : extern struct spiras *skiboot_constant_addr spiras;</a> -<a name="154"><span class="lineNum"> 154 </span> : : </a> -<a name="155"><span class="lineNum"> 155 </span> : : </a> -<a name="156"><span class="lineNum"> 156 </span> : : /* This macro can be used to check the validity of a pointer returned</a> -<a name="157"><span class="lineNum"> 157 </span> : : * by one of the HDIF API functions. It returns true if the pointer</a> -<a name="158"><span class="lineNum"> 158 </span> : : * appears valid. If it's not valid and not NULL, it will print some</a> -<a name="159"><span class="lineNum"> 159 </span> : : * error in the log as well.</a> -<a name="160"><span class="lineNum"> 160 </span> : : */</a> -<a name="161"><span class="lineNum"> 161 </span> : : #define CHECK_SPPTR(_ptr) spira_check_ptr(_ptr, __FILE__, __LINE__)</a> -<a name="162"><span class="lineNum"> 162 </span> : : </a> -<a name="163"><span class="lineNum"> 163 </span> : : #define get_hdif(ntuple, id) __get_hdif((ntuple), (id), __FILE__, __LINE__)</a> -<a name="164"><span class="lineNum"> 164 </span> : : </a> -<a name="165"><span class="lineNum"> 165 </span> : : extern struct HDIF_common_hdr *__get_hdif(struct spira_ntuple *n,</a> -<a name="166"><span class="lineNum"> 166 </span> : : const char id[],</a> -<a name="167"><span class="lineNum"> 167 </span> : : const char *file, int line);</a> +<a name="32"><span class="lineNum"> 32 </span> : : /* First version of the secure boot compliant design. */</a> +<a name="33"><span class="lineNum"> 33 </span> : : #define SPIRAH_VERSION 0x50</a> +<a name="34"><span class="lineNum"> 34 </span> : : </a> +<a name="35"><span class="lineNum"> 35 </span> : : /* N-tuples in SPIRAH */</a> +<a name="36"><span class="lineNum"> 36 </span> : : #define SPIRAH_NTUPLES_COUNT 0x6</a> +<a name="37"><span class="lineNum"> 37 </span> : : </a> +<a name="38"><span class="lineNum"> 38 </span> : : struct spirah_ntuples {</a> +<a name="39"><span class="lineNum"> 39 </span> : : struct HDIF_array_hdr array_hdr; /* 0x030 */</a> +<a name="40"><span class="lineNum"> 40 </span> : : struct spira_ntuple hs_data_area; /* 0x040 */</a> +<a name="41"><span class="lineNum"> 41 </span> : : struct spira_ntuple proc_init; /* 0x060 */</a> +<a name="42"><span class="lineNum"> 42 </span> : : struct spira_ntuple cpu_ctrl; /* 0x080 */</a> +<a name="43"><span class="lineNum"> 43 </span> : : struct spira_ntuple mdump_src; /* 0x0a0 */</a> +<a name="44"><span class="lineNum"> 44 </span> : : struct spira_ntuple mdump_dst; /* 0x0c0 */</a> +<a name="45"><span class="lineNum"> 45 </span> : : struct spira_ntuple mdump_res; /* 0x0e0 */</a> +<a name="46"><span class="lineNum"> 46 </span> : : struct spira_ntuple proc_dump_area; /* 0x100 */</a> +<a name="47"><span class="lineNum"> 47 </span> : : };</a> +<a name="48"><span class="lineNum"> 48 </span> : : </a> +<a name="49"><span class="lineNum"> 49 </span> : : struct spirah {</a> +<a name="50"><span class="lineNum"> 50 </span> : : struct HDIF_common_hdr hdr;</a> +<a name="51"><span class="lineNum"> 51 </span> : : struct HDIF_idata_ptr ntuples_ptr;</a> +<a name="52"><span class="lineNum"> 52 </span> : : __be64 pad;</a> +<a name="53"><span class="lineNum"> 53 </span> : : struct spirah_ntuples ntuples;</a> +<a name="54"><span class="lineNum"> 54 </span> : : u8 reserved[0xE0];</a> +<a name="55"><span class="lineNum"> 55 </span> : : } __packed __align(0x100);</a> +<a name="56"><span class="lineNum"> 56 </span> : : </a> +<a name="57"><span class="lineNum"> 57 </span> : : extern struct spirah spirah;</a> +<a name="58"><span class="lineNum"> 58 </span> : : </a> +<a name="59"><span class="lineNum"> 59 </span> : : /* SPIRA-S signature */</a> +<a name="60"><span class="lineNum"> 60 </span> : : #define SPIRAS_HDIF_SIG "SPIRAS"</a> +<a name="61"><span class="lineNum"> 61 </span> : : </a> +<a name="62"><span class="lineNum"> 62 </span> : : /* First version on 810 release */</a> +<a name="63"><span class="lineNum"> 63 </span> : : #define SPIRAS_VERSION_P8 0x40</a> +<a name="64"><span class="lineNum"> 64 </span> : : #define SPIRAS_VERSION_P9 0x50</a> +<a name="65"><span class="lineNum"> 65 </span> : : </a> +<a name="66"><span class="lineNum"> 66 </span> : : /* N-tuples in SPIRAS */</a> +<a name="67"><span class="lineNum"> 67 </span> : : #define SPIRAS_NTUPLES_COUNT 0x10</a> +<a name="68"><span class="lineNum"> 68 </span> : : </a> +<a name="69"><span class="lineNum"> 69 </span> : : struct spiras_ntuples {</a> +<a name="70"><span class="lineNum"> 70 </span> : : struct HDIF_array_hdr array_hdr; /* 0x030 */</a> +<a name="71"><span class="lineNum"> 71 </span> : : struct spira_ntuple sp_subsys; /* 0x040 */</a> +<a name="72"><span class="lineNum"> 72 </span> : : struct spira_ntuple ipl_parms; /* 0x060 */</a> +<a name="73"><span class="lineNum"> 73 </span> : : struct spira_ntuple nt_enclosure_vpd; /* 0x080 */</a> +<a name="74"><span class="lineNum"> 74 </span> : : struct spira_ntuple slca; /* 0x0a0 */</a> +<a name="75"><span class="lineNum"> 75 </span> : : struct spira_ntuple backplane_vpd; /* 0x0c0 */</a> +<a name="76"><span class="lineNum"> 76 </span> : : struct spira_ntuple system_vpd; /* 0x0e0 */</a> +<a name="77"><span class="lineNum"> 77 </span> : : struct spira_ntuple clock_vpd; /* 0x100 */</a> +<a name="78"><span class="lineNum"> 78 </span> : : struct spira_ntuple anchor_vpd; /* 0x120 */</a> +<a name="79"><span class="lineNum"> 79 </span> : : struct spira_ntuple op_panel_vpd; /* 0x140 */</a> +<a name="80"><span class="lineNum"> 80 </span> : : struct spira_ntuple misc_cec_fru_vpd; /* 0x160 */</a> +<a name="81"><span class="lineNum"> 81 </span> : : struct spira_ntuple ms_vpd; /* 0x180 */</a> +<a name="82"><span class="lineNum"> 82 </span> : : struct spira_ntuple cec_iohub_fru; /* 0x1a0 */</a> +<a name="83"><span class="lineNum"> 83 </span> : : struct spira_ntuple pcia; /* 0x1c0 */</a> +<a name="84"><span class="lineNum"> 84 </span> : : struct spira_ntuple proc_chip; /* 0x1e0 */</a> +<a name="85"><span class="lineNum"> 85 </span> : : struct spira_ntuple hs_data; /* 0x200 */</a> +<a name="86"><span class="lineNum"> 86 </span> : : struct spira_ntuple hbrt_data; /* 0x220 */</a> +<a name="87"><span class="lineNum"> 87 </span> : : struct spira_ntuple ipmi_sensor; /* 0x240 */</a> +<a name="88"><span class="lineNum"> 88 </span> : : struct spira_ntuple node_stb_data; /* 0x260 */</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> : : struct spiras {</a> +<a name="92"><span class="lineNum"> 92 </span> : : struct HDIF_common_hdr hdr;</a> +<a name="93"><span class="lineNum"> 93 </span> : : struct HDIF_idata_ptr ntuples_ptr;</a> +<a name="94"><span class="lineNum"> 94 </span> : : __be64 pad;</a> +<a name="95"><span class="lineNum"> 95 </span> : : struct spiras_ntuples ntuples;</a> +<a name="96"><span class="lineNum"> 96 </span> : : u8 reserved[0x180];</a> +<a name="97"><span class="lineNum"> 97 </span> : : } __packed __align(0x100);</a> +<a name="98"><span class="lineNum"> 98 </span> : : </a> +<a name="99"><span class="lineNum"> 99 </span> : : extern struct spiras *skiboot_constant_addr spiras;</a> +<a name="100"><span class="lineNum"> 100 </span> : : </a> +<a name="101"><span class="lineNum"> 101 </span> : : /* This macro can be used to check the validity of a pointer returned</a> +<a name="102"><span class="lineNum"> 102 </span> : : * by one of the HDIF API functions. It returns true if the pointer</a> +<a name="103"><span class="lineNum"> 103 </span> : : * appears valid. If it's not valid and not NULL, it will print some</a> +<a name="104"><span class="lineNum"> 104 </span> : : * error in the log as well.</a> +<a name="105"><span class="lineNum"> 105 </span> : : */</a> +<a name="106"><span class="lineNum"> 106 </span> : : #define CHECK_SPPTR(_ptr) spira_check_ptr(_ptr, __FILE__, __LINE__)</a> +<a name="107"><span class="lineNum"> 107 </span> : : </a> +<a name="108"><span class="lineNum"> 108 </span> : : #define get_hdif(ntuple, id) __get_hdif((ntuple), (id), __FILE__, __LINE__)</a> +<a name="109"><span class="lineNum"> 109 </span> : : </a> +<a name="110"><span class="lineNum"> 110 </span> : : extern struct HDIF_common_hdr *__get_hdif(struct spira_ntuple *n,</a> +<a name="111"><span class="lineNum"> 111 </span> : : const char id[],</a> +<a name="112"><span class="lineNum"> 112 </span> : : const char *file, int line);</a> +<a name="113"><span class="lineNum"> 113 </span> : : </a> +<a name="114"><span class="lineNum"> 114 </span> : : #define for_each_ntuple_idx(_ntuples, _p, _idx, _id) \</a> +<a name="115"><span class="lineNum"> 115 </span> : : for (_p = get_hdif((_ntuples), _id ""), _idx = 0; \</a> +<a name="116"><span class="lineNum"> 116 </span> : : _p && _idx < be16_to_cpu((_ntuples)->act_cnt); \</a> +<a name="117"><span class="lineNum"> 117 </span> : : _p = (void *)_p + be32_to_cpu((_ntuples)->alloc_len), _idx++)</a> +<a name="118"><span class="lineNum"> 118 </span> : : </a> +<a name="119"><span class="lineNum"> 119 </span> : : #define for_each_ntuple(_ntuples, _p, _id) \</a> +<a name="120"><span class="lineNum"> 120 </span> : : for (_p = get_hdif((_ntuples), _id ""); \</a> +<a name="121"><span class="lineNum"> 121 </span> : : _p && (void *)_p < ntuple_addr(_ntuples) \</a> +<a name="122"><span class="lineNum"> 122 </span> : : + (be16_to_cpu((_ntuples)->act_cnt) * \</a> +<a name="123"><span class="lineNum"> 123 </span> : : be32_to_cpu((_ntuples)->alloc_len)); \</a> +<a name="124"><span class="lineNum"> 124 </span> : : _p = (void *)_p + be32_to_cpu((_ntuples)->alloc_len))</a> +<a name="125"><span class="lineNum"> 125 </span> : : </a> +<a name="126"><span class="lineNum"> 126 </span> : : #define for_each_pcia(s, p) for_each_ntuple(&(s)->ntuples.pcia, p, SPPCIA_HDIF_SIG)</a> +<a name="127"><span class="lineNum"> 127 </span> : : </a> +<a name="128"><span class="lineNum"> 128 </span> : : /* We override these for testing. */</a> +<a name="129"><span class="lineNum"> 129 </span> : : #ifndef ntuple_addr</a> +<a name="130"><span class="lineNum"> 130 </span> : : #define ntuple_addr(_ntuples) ((void *)BE64_TO_CPU((_ntuples)->addr))</a> +<a name="131"><span class="lineNum"> 131 </span> : : #endif</a> +<a name="132"><span class="lineNum"> 132 </span> : : </a> +<a name="133"><span class="lineNum"> 133 </span> : : #ifndef spira_check_ptr</a> +<a name="134"><span class="lineNum"> 134 </span> : : extern bool spira_check_ptr(const void *ptr, const char *file,</a> +<a name="135"><span class="lineNum"> 135 </span> : : unsigned int line);</a> +<a name="136"><span class="lineNum"> 136 </span> : : #endif</a> +<a name="137"><span class="lineNum"> 137 </span> : : </a> +<a name="138"><span class="lineNum"> 138 </span> : : struct proc_init_data {</a> +<a name="139"><span class="lineNum"> 139 </span> : : struct HDIF_common_hdr hdr;</a> +<a name="140"><span class="lineNum"> 140 </span> : : struct HDIF_idata_ptr regs_ptr;</a> +<a name="141"><span class="lineNum"> 141 </span> : : struct {</a> +<a name="142"><span class="lineNum"> 142 </span> : : __be64 nia;</a> +<a name="143"><span class="lineNum"> 143 </span> : : __be64 msr;</a> +<a name="144"><span class="lineNum"> 144 </span> : : __be64 nia_charm_time;</a> +<a name="145"><span class="lineNum"> 145 </span> : : __be64 msr_charm_time;</a> +<a name="146"><span class="lineNum"> 146 </span> : : } regs;</a> +<a name="147"><span class="lineNum"> 147 </span> : : } __packed __align(0x10);</a> +<a name="148"><span class="lineNum"> 148 </span> : : </a> +<a name="149"><span class="lineNum"> 149 </span> : : /*</a> +<a name="150"><span class="lineNum"> 150 </span> : : * The FRU ID structure is used in several tuples, so we</a> +<a name="151"><span class="lineNum"> 151 </span> : : * define it generically here</a> +<a name="152"><span class="lineNum"> 152 </span> : : */</a> +<a name="153"><span class="lineNum"> 153 </span> : : struct spira_fru_id {</a> +<a name="154"><span class="lineNum"> 154 </span> : : __be16 slca_index;</a> +<a name="155"><span class="lineNum"> 155 </span> : : __be16 rsrc_id; /* formerly VPD port number */</a> +<a name="156"><span class="lineNum"> 156 </span> : : } __packed;</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> : : * The FRU operational status structure is used in several</a> +<a name="160"><span class="lineNum"> 160 </span> : : * tuples, so we define it generically here</a> +<a name="161"><span class="lineNum"> 161 </span> : : */</a> +<a name="162"><span class="lineNum"> 162 </span> : : struct spira_fru_op_status {</a> +<a name="163"><span class="lineNum"> 163 </span> : : uint8_t flags;</a> +<a name="164"><span class="lineNum"> 164 </span> : : #define FRU_OP_STATUS_FLAG_USED 0x02 /* If 0 -> not used (redundant) */</a> +<a name="165"><span class="lineNum"> 165 </span> : : #define FRU_OP_STATUS_FLAG_FUNCTIONAL 0x01 /* If 0 -> non-functional */</a> +<a name="166"><span class="lineNum"> 166 </span> : : uint8_t reserved[3];</a> +<a name="167"><span class="lineNum"> 167 </span> : : } __packed;</a> <a name="168"><span class="lineNum"> 168 </span> : : </a> -<a name="169"><span class="lineNum"> 169 </span> : : #define for_each_ntuple_idx(_ntuples, _p, _idx, _id) \</a> -<a name="170"><span class="lineNum"> 170 </span> : : for (_p = get_hdif((_ntuples), _id ""), _idx = 0; \</a> -<a name="171"><span class="lineNum"> 171 </span> : : _p && _idx < be16_to_cpu((_ntuples)->act_cnt); \</a> -<a name="172"><span class="lineNum"> 172 </span> : : _p = (void *)_p + be32_to_cpu((_ntuples)->alloc_len), _idx++)</a> +<a name="169"><span class="lineNum"> 169 </span> : : /*</a> +<a name="170"><span class="lineNum"> 170 </span> : : * Move VPD related stuff to another file ...</a> +<a name="171"><span class="lineNum"> 171 </span> : : */</a> +<a name="172"><span class="lineNum"> 172 </span> : : #define VPD_ID(_a, _b) ((_a) << 8 | (_b))</a> <a name="173"><span class="lineNum"> 173 </span> : : </a> -<a name="174"><span class="lineNum"> 174 </span> : : #define for_each_ntuple(_ntuples, _p, _id) \</a> -<a name="175"><span class="lineNum"> 175 </span> : : for (_p = get_hdif((_ntuples), _id ""); \</a> -<a name="176"><span class="lineNum"> 176 </span> : : _p && (void *)_p < ntuple_addr(_ntuples) \</a> -<a name="177"><span class="lineNum"> 177 </span> : : + (be16_to_cpu((_ntuples)->act_cnt) * \</a> -<a name="178"><span class="lineNum"> 178 </span> : : be32_to_cpu((_ntuples)->alloc_len)); \</a> -<a name="179"><span class="lineNum"> 179 </span> : : _p = (void *)_p + be32_to_cpu((_ntuples)->alloc_len))</a> +<a name="174"><span class="lineNum"> 174 </span> : : /*</a> +<a name="175"><span class="lineNum"> 175 </span> : : * Service Processor Subsystem Structure</a> +<a name="176"><span class="lineNum"> 176 </span> : : *</a> +<a name="177"><span class="lineNum"> 177 </span> : : * This structure contains several internal data blocks</a> +<a name="178"><span class="lineNum"> 178 </span> : : * describing the service processor(s) in the system</a> +<a name="179"><span class="lineNum"> 179 </span> : : */</a> <a name="180"><span class="lineNum"> 180 </span> : : </a> -<a name="181"><span class="lineNum"> 181 </span> : : #define for_each_pcia(p) for_each_ntuple(&spira.ntuples.pcia, p, SPPCIA_HDIF_SIG)</a> +<a name="181"><span class="lineNum"> 181 </span> : : #define SPSS_HDIF_SIG "SPINFO"</a> <a name="182"><span class="lineNum"> 182 </span> : : </a> -<a name="183"><span class="lineNum"> 183 </span> : : /* We override these for testing. */</a> -<a name="184"><span class="lineNum"> 184 </span> : : #ifndef ntuple_addr</a> -<a name="185"><span class="lineNum"> 185 </span> : : #define ntuple_addr(_ntuples) ((void *)BE64_TO_CPU((_ntuples)->addr))</a> -<a name="186"><span class="lineNum"> 186 </span> : : #endif</a> -<a name="187"><span class="lineNum"> 187 </span> : : </a> -<a name="188"><span class="lineNum"> 188 </span> : : #ifndef spira_check_ptr</a> -<a name="189"><span class="lineNum"> 189 </span> : : extern bool spira_check_ptr(const void *ptr, const char *file,</a> -<a name="190"><span class="lineNum"> 190 </span> : : unsigned int line);</a> -<a name="191"><span class="lineNum"> 191 </span> : : #endif</a> -<a name="192"><span class="lineNum"> 192 </span> : : </a> -<a name="193"><span class="lineNum"> 193 </span> : : struct proc_init_data {</a> -<a name="194"><span class="lineNum"> 194 </span> : : struct HDIF_common_hdr hdr;</a> -<a name="195"><span class="lineNum"> 195 </span> : : struct HDIF_idata_ptr regs_ptr;</a> -<a name="196"><span class="lineNum"> 196 </span> : : struct {</a> -<a name="197"><span class="lineNum"> 197 </span> : : __be64 nia;</a> -<a name="198"><span class="lineNum"> 198 </span> : : __be64 msr;</a> -<a name="199"><span class="lineNum"> 199 </span> : : __be64 nia_charm_time;</a> -<a name="200"><span class="lineNum"> 200 </span> : : __be64 msr_charm_time;</a> -<a name="201"><span class="lineNum"> 201 </span> : : } regs;</a> -<a name="202"><span class="lineNum"> 202 </span> : : } __packed __align(0x10);</a> +<a name="183"><span class="lineNum"> 183 </span> : : /* Idata index 0 : FRU ID Data */</a> +<a name="184"><span class="lineNum"> 184 </span> : : #define SPSS_IDATA_FRU_ID 0</a> +<a name="185"><span class="lineNum"> 185 </span> : : </a> +<a name="186"><span class="lineNum"> 186 </span> : : /* Idata index 1 : Keyword VPD for the FSP instance */</a> +<a name="187"><span class="lineNum"> 187 </span> : : #define SPSS_IDATA_KEYWORD_VPD 1</a> +<a name="188"><span class="lineNum"> 188 </span> : : </a> +<a name="189"><span class="lineNum"> 189 </span> : : /* Idata index 2 : SP Implementation */</a> +<a name="190"><span class="lineNum"> 190 </span> : : #define SPSS_IDATA_SP_IMPL 2</a> +<a name="191"><span class="lineNum"> 191 </span> : : </a> +<a name="192"><span class="lineNum"> 192 </span> : : struct spss_sp_impl {</a> +<a name="193"><span class="lineNum"> 193 </span> : : __be16 hw_version;</a> +<a name="194"><span class="lineNum"> 194 </span> : : __be16 sw_version;</a> +<a name="195"><span class="lineNum"> 195 </span> : : __be16 func_flags;</a> +<a name="196"><span class="lineNum"> 196 </span> : : #define SPSS_SP_IMPL_FLAGS_INSTALLED 0x8000</a> +<a name="197"><span class="lineNum"> 197 </span> : : #define SPSS_SP_IMPL_FLAGS_FUNCTIONAL 0x4000</a> +<a name="198"><span class="lineNum"> 198 </span> : : #define SPSS_SP_IMPL_FLAGS_PRIMARY 0x2000</a> +<a name="199"><span class="lineNum"> 199 </span> : : u8 chip_version;</a> +<a name="200"><span class="lineNum"> 200 </span> : : u8 reserved;</a> +<a name="201"><span class="lineNum"> 201 </span> : : u8 sp_family[64];</a> +<a name="202"><span class="lineNum"> 202 </span> : : } __packed;</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> : : * The FRU ID structure is used in several tuples, so we</a> -<a name="206"><span class="lineNum"> 206 </span> : : * define it generically here</a> -<a name="207"><span class="lineNum"> 207 </span> : : */</a> -<a name="208"><span class="lineNum"> 208 </span> : : struct spira_fru_id {</a> -<a name="209"><span class="lineNum"> 209 </span> : : __be16 slca_index;</a> -<a name="210"><span class="lineNum"> 210 </span> : : __be16 rsrc_id; /* formerly VPD port number */</a> -<a name="211"><span class="lineNum"> 211 </span> : : } __packed;</a> -<a name="212"><span class="lineNum"> 212 </span> : : </a> -<a name="213"><span class="lineNum"> 213 </span> : : /*</a> -<a name="214"><span class="lineNum"> 214 </span> : : * The FRU operational status structure is used in several</a> -<a name="215"><span class="lineNum"> 215 </span> : : * tuples, so we define it generically here</a> -<a name="216"><span class="lineNum"> 216 </span> : : */</a> -<a name="217"><span class="lineNum"> 217 </span> : : struct spira_fru_op_status {</a> -<a name="218"><span class="lineNum"> 218 </span> : : uint8_t flags;</a> -<a name="219"><span class="lineNum"> 219 </span> : : #define FRU_OP_STATUS_FLAG_USED 0x02 /* If 0 -> not used (redundant) */</a> -<a name="220"><span class="lineNum"> 220 </span> : : #define FRU_OP_STATUS_FLAG_FUNCTIONAL 0x01 /* If 0 -> non-functional */</a> -<a name="221"><span class="lineNum"> 221 </span> : : uint8_t reserved[3];</a> -<a name="222"><span class="lineNum"> 222 </span> : : } __packed;</a> -<a name="223"><span class="lineNum"> 223 </span> : : </a> -<a name="224"><span class="lineNum"> 224 </span> : : /*</a> -<a name="225"><span class="lineNum"> 225 </span> : : * Move VPD related stuff to another file ...</a> -<a name="226"><span class="lineNum"> 226 </span> : : */</a> -<a name="227"><span class="lineNum"> 227 </span> : : #define VPD_ID(_a, _b) ((_a) << 8 | (_b))</a> -<a name="228"><span class="lineNum"> 228 </span> : : </a> -<a name="229"><span class="lineNum"> 229 </span> : : /*</a> -<a name="230"><span class="lineNum"> 230 </span> : : * Service Processor Subsystem Structure</a> -<a name="231"><span class="lineNum"> 231 </span> : : *</a> -<a name="232"><span class="lineNum"> 232 </span> : : * This structure contains several internal data blocks</a> -<a name="233"><span class="lineNum"> 233 </span> : : * describing the service processor(s) in the system</a> -<a name="234"><span class="lineNum"> 234 </span> : : */</a> -<a name="235"><span class="lineNum"> 235 </span> : : </a> -<a name="236"><span class="lineNum"> 236 </span> : : #define SPSS_HDIF_SIG "SPINFO"</a> -<a name="237"><span class="lineNum"> 237 </span> : : </a> -<a name="238"><span class="lineNum"> 238 </span> : : /* Idata index 0 : FRU ID Data */</a> -<a name="239"><span class="lineNum"> 239 </span> : : #define SPSS_IDATA_FRU_ID 0</a> -<a name="240"><span class="lineNum"> 240 </span> : : </a> -<a name="241"><span class="lineNum"> 241 </span> : : /* Idata index 1 : Keyword VPD for the FSP instance */</a> -<a name="242"><span class="lineNum"> 242 </span> : : #define SPSS_IDATA_KEYWORD_VPD 1</a> -<a name="243"><span class="lineNum"> 243 </span> : : </a> -<a name="244"><span class="lineNum"> 244 </span> : : /* Idata index 2 : SP Implementation */</a> -<a name="245"><span class="lineNum"> 245 </span> : : #define SPSS_IDATA_SP_IMPL 2</a> +<a name="204"><span class="lineNum"> 204 </span> : : /* Idata index 3 is deprecated */</a> +<a name="205"><span class="lineNum"> 205 </span> : : </a> +<a name="206"><span class="lineNum"> 206 </span> : : /* Idata index 4 : SP Memory Locator */</a> +<a name="207"><span class="lineNum"> 207 </span> : : #define SPSS_IDATA_SP_MEMLOC 4</a> +<a name="208"><span class="lineNum"> 208 </span> : : </a> +<a name="209"><span class="lineNum"> 209 </span> : : /* Idata index 5 : SP I/O path array */</a> +<a name="210"><span class="lineNum"> 210 </span> : : #define SPSS_IDATA_SP_IOPATH 5</a> +<a name="211"><span class="lineNum"> 211 </span> : : </a> +<a name="212"><span class="lineNum"> 212 </span> : : /* An HDIF array of IO path */</a> +<a name="213"><span class="lineNum"> 213 </span> : : struct spss_iopath {</a> +<a name="214"><span class="lineNum"> 214 </span> : : __be16 iopath_type;</a> +<a name="215"><span class="lineNum"> 215 </span> : : #define SPSS_IOPATH_TYPE_IOHUB_PHB 0x0001</a> +<a name="216"><span class="lineNum"> 216 </span> : : #define SPSS_IOPATH_TYPE_PSI 0x0002</a> +<a name="217"><span class="lineNum"> 217 </span> : : #define SPSS_IOPATH_TYPE_LPC 0x0003</a> +<a name="218"><span class="lineNum"> 218 </span> : : union {</a> +<a name="219"><span class="lineNum"> 219 </span> : : struct {</a> +<a name="220"><span class="lineNum"> 220 </span> : : __be16 iohub_chip_inst;</a> +<a name="221"><span class="lineNum"> 221 </span> : : __be16 iohub_chip_port;</a> +<a name="222"><span class="lineNum"> 222 </span> : : __be16 phb_id;</a> +<a name="223"><span class="lineNum"> 223 </span> : : } __packed iohub_phb;</a> +<a name="224"><span class="lineNum"> 224 </span> : : </a> +<a name="225"><span class="lineNum"> 225 </span> : : struct {</a> +<a name="226"><span class="lineNum"> 226 </span> : : __be16 link_status;</a> +<a name="227"><span class="lineNum"> 227 </span> : : #define SPSS_IO_PATH_PSI_LINK_BAD_FRU 0x0000</a> +<a name="228"><span class="lineNum"> 228 </span> : : #define SPSS_IO_PATH_PSI_LINK_CURRENT 0x0001</a> +<a name="229"><span class="lineNum"> 229 </span> : : #define SPSS_IO_PATH_PSI_LINK_BACKUP 0x0002</a> +<a name="230"><span class="lineNum"> 230 </span> : : u8 ml2_version;</a> +<a name="231"><span class="lineNum"> 231 </span> : : u8 reserved;</a> +<a name="232"><span class="lineNum"> 232 </span> : : __be16 slca_count;</a> +<a name="233"><span class="lineNum"> 233 </span> : : u8 slca_idx[16];</a> +<a name="234"><span class="lineNum"> 234 </span> : : __be32 proc_chip_id;</a> +<a name="235"><span class="lineNum"> 235 </span> : : __be32 reserved2;</a> +<a name="236"><span class="lineNum"> 236 </span> : : __be64 gxhb_base;</a> +<a name="237"><span class="lineNum"> 237 </span> : : } __packed psi;</a> +<a name="238"><span class="lineNum"> 238 </span> : : </a> +<a name="239"><span class="lineNum"> 239 </span> : : struct { /* only populated after version 0x30 */</a> +<a name="240"><span class="lineNum"> 240 </span> : : __be16 link_status;</a> +<a name="241"><span class="lineNum"> 241 </span> : : #define LPC_STATUS_STUFFED 0x0000</a> +<a name="242"><span class="lineNum"> 242 </span> : : #define LPC_STATUS_ACTIVE 0x0001</a> +<a name="243"><span class="lineNum"> 243 </span> : : uint8_t ml2_version;</a> +<a name="244"><span class="lineNum"> 244 </span> : : uint8_t reserved[3];</a> +<a name="245"><span class="lineNum"> 245 </span> : : __be32 chip_id;</a> <a name="246"><span class="lineNum"> 246 </span> : : </a> -<a name="247"><span class="lineNum"> 247 </span> : : struct spss_sp_impl {</a> -<a name="248"><span class="lineNum"> 248 </span> : : __be16 hw_version;</a> -<a name="249"><span class="lineNum"> 249 </span> : : __be16 sw_version;</a> -<a name="250"><span class="lineNum"> 250 </span> : : __be16 func_flags;</a> -<a name="251"><span class="lineNum"> 251 </span> : : #define SPSS_SP_IMPL_FLAGS_INSTALLED 0x8000</a> -<a name="252"><span class="lineNum"> 252 </span> : : #define SPSS_SP_IMPL_FLAGS_FUNCTIONAL 0x4000</a> -<a name="253"><span class="lineNum"> 253 </span> : : #define SPSS_SP_IMPL_FLAGS_PRIMARY 0x2000</a> -<a name="254"><span class="lineNum"> 254 </span> : : u8 chip_version;</a> -<a name="255"><span class="lineNum"> 255 </span> : : u8 reserved;</a> -<a name="256"><span class="lineNum"> 256 </span> : : u8 sp_family[64];</a> -<a name="257"><span class="lineNum"> 257 </span> : : } __packed;</a> +<a name="247"><span class="lineNum"> 247 </span> : : __be32 io_bar;</a> +<a name="248"><span class="lineNum"> 248 </span> : : __be32 memory_bar;</a> +<a name="249"><span class="lineNum"> 249 </span> : : __be32 firmware_bar;</a> +<a name="250"><span class="lineNum"> 250 </span> : : __be32 internal_bar;</a> +<a name="251"><span class="lineNum"> 251 </span> : : </a> +<a name="252"><span class="lineNum"> 252 </span> : : __be32 mctp_base;</a> +<a name="253"><span class="lineNum"> 253 </span> : : </a> +<a name="254"><span class="lineNum"> 254 </span> : : __be64 uart_base;</a> +<a name="255"><span class="lineNum"> 255 </span> : : __be32 uart_size;</a> +<a name="256"><span class="lineNum"> 256 </span> : : __be32 uart_clk; /* UART baud clock in Hz */</a> +<a name="257"><span class="lineNum"> 257 </span> : : __be32 uart_baud; /* UART baud rate */</a> <a name="258"><span class="lineNum"> 258 </span> : : </a> -<a name="259"><span class="lineNum"> 259 </span> : : /* Idata index 3 is deprecated */</a> -<a name="260"><span class="lineNum"> 260 </span> : : </a> -<a name="261"><span class="lineNum"> 261 </span> : : /* Idata index 4 : SP Memory Locator */</a> -<a name="262"><span class="lineNum"> 262 </span> : : #define SPSS_IDATA_SP_MEMLOC 4</a> -<a name="263"><span class="lineNum"> 263 </span> : : </a> -<a name="264"><span class="lineNum"> 264 </span> : : /* Idata index 5 : SP I/O path array */</a> -<a name="265"><span class="lineNum"> 265 </span> : : #define SPSS_IDATA_SP_IOPATH 5</a> +<a name="259"><span class="lineNum"> 259 </span> : : uint8_t uart_int_number;</a> +<a name="260"><span class="lineNum"> 260 </span> : : uint8_t uart_int_type;</a> +<a name="261"><span class="lineNum"> 261 </span> : : #define UART_INT_LVL_LOW 0x1</a> +<a name="262"><span class="lineNum"> 262 </span> : : #define UART_INT_RISING 0x2</a> +<a name="263"><span class="lineNum"> 263 </span> : : #define UART_INT_LVL_HIGH 0x3</a> +<a name="264"><span class="lineNum"> 264 </span> : : uint8_t uart_valid;</a> +<a name="265"><span class="lineNum"> 265 </span> : : uint8_t reserved3;</a> <a name="266"><span class="lineNum"> 266 </span> : : </a> -<a name="267"><span class="lineNum"> 267 </span> : : /* An HDIF array of IO path */</a> -<a name="268"><span class="lineNum"> 268 </span> : : struct spss_iopath {</a> -<a name="269"><span class="lineNum"> 269 </span> : : __be16 iopath_type;</a> -<a name="270"><span class="lineNum"> 270 </span> : : #define SPSS_IOPATH_TYPE_IOHUB_PHB 0x0001</a> -<a name="271"><span class="lineNum"> 271 </span> : : #define SPSS_IOPATH_TYPE_PSI 0x0002</a> -<a name="272"><span class="lineNum"> 272 </span> : : #define SPSS_IOPATH_TYPE_LPC 0x0003</a> -<a name="273"><span class="lineNum"> 273 </span> : : union {</a> -<a name="274"><span class="lineNum"> 274 </span> : : struct {</a> -<a name="275"><span class="lineNum"> 275 </span> : : __be16 iohub_chip_inst;</a> -<a name="276"><span class="lineNum"> 276 </span> : : __be16 iohub_chip_port;</a> -<a name="277"><span class="lineNum"> 277 </span> : : __be16 phb_id;</a> -<a name="278"><span class="lineNum"> 278 </span> : : } __packed iohub_phb;</a> -<a name="279"><span class="lineNum"> 279 </span> : : </a> -<a name="280"><span class="lineNum"> 280 </span> : : struct {</a> -<a name="281"><span class="lineNum"> 281 </span> : : __be16 link_status;</a> -<a name="282"><span class="lineNum"> 282 </span> : : #define SPSS_IO_PATH_PSI_LINK_BAD_FRU 0x0000</a> -<a name="283"><span class="lineNum"> 283 </span> : : #define SPSS_IO_PATH_PSI_LINK_CURRENT 0x0001</a> -<a name="284"><span class="lineNum"> 284 </span> : : #define SPSS_IO_PATH_PSI_LINK_BACKUP 0x0002</a> -<a name="285"><span class="lineNum"> 285 </span> : : u8 ml2_version;</a> -<a name="286"><span class="lineNum"> 286 </span> : : u8 reserved;</a> -<a name="287"><span class="lineNum"> 287 </span> : : __be16 slca_count;</a> -<a name="288"><span class="lineNum"> 288 </span> : : u8 slca_idx[16];</a> -<a name="289"><span class="lineNum"> 289 </span> : : __be32 proc_chip_id;</a> -<a name="290"><span class="lineNum"> 290 </span> : : __be32 reserved2;</a> -<a name="291"><span class="lineNum"> 291 </span> : : __be64 gxhb_base;</a> -<a name="292"><span class="lineNum"> 292 </span> : : } __packed psi;</a> +<a name="267"><span class="lineNum"> 267 </span> : : __be64 bt_base;</a> +<a name="268"><span class="lineNum"> 268 </span> : : __be32 bt_size;</a> +<a name="269"><span class="lineNum"> 269 </span> : : uint8_t bt_sms_int_num;</a> +<a name="270"><span class="lineNum"> 270 </span> : : uint8_t bt_bmc_response_int_num;</a> +<a name="271"><span class="lineNum"> 271 </span> : : uint8_t reserved4[2];</a> +<a name="272"><span class="lineNum"> 272 </span> : : </a> +<a name="273"><span class="lineNum"> 273 </span> : : __be16 kcs_data_reg_addr;</a> +<a name="274"><span class="lineNum"> 274 </span> : : __be16 kcs_status_reg_addr;</a> +<a name="275"><span class="lineNum"> 275 </span> : : uint8_t kcs_int_number;</a> +<a name="276"><span class="lineNum"> 276 </span> : : </a> +<a name="277"><span class="lineNum"> 277 </span> : : __be64 uart2_base;</a> +<a name="278"><span class="lineNum"> 278 </span> : : __be32 uart2_size;</a> +<a name="279"><span class="lineNum"> 279 </span> : : __be32 uart2_clk; /* UART baud clock in Hz */</a> +<a name="280"><span class="lineNum"> 280 </span> : : __be32 uart2_baud; /* UART baud rate */</a> +<a name="281"><span class="lineNum"> 281 </span> : : uint8_t uart2_int_number;</a> +<a name="282"><span class="lineNum"> 282 </span> : : uint8_t uart2_int_type;</a> +<a name="283"><span class="lineNum"> 283 </span> : : uint8_t uart2_valid;</a> +<a name="284"><span class="lineNum"> 284 </span> : : uint8_t reserved5;</a> +<a name="285"><span class="lineNum"> 285 </span> : : } __packed lpc;</a> +<a name="286"><span class="lineNum"> 286 </span> : : };</a> +<a name="287"><span class="lineNum"> 287 </span> : : } __packed;</a> +<a name="288"><span class="lineNum"> 288 </span> : : </a> +<a name="289"><span class="lineNum"> 289 </span> : : /*</a> +<a name="290"><span class="lineNum"> 290 </span> : : * IPL Parms structure</a> +<a name="291"><span class="lineNum"> 291 </span> : : *</a> +<a name="292"><span class="lineNum"> 292 </span> : : */</a> <a name="293"><span class="lineNum"> 293 </span> : : </a> -<a name="294"><span class="lineNum"> 294 </span> : : struct { /* only populated after version 0x30 */</a> -<a name="295"><span class="lineNum"> 295 </span> : : __be16 link_status;</a> -<a name="296"><span class="lineNum"> 296 </span> : : #define LPC_STATUS_STUFFED 0x0000</a> -<a name="297"><span class="lineNum"> 297 </span> : : #define LPC_STATUS_ACTIVE 0x0001</a> -<a name="298"><span class="lineNum"> 298 </span> : : uint8_t ml2_version;</a> -<a name="299"><span class="lineNum"> 299 </span> : : uint8_t reserved[3];</a> -<a name="300"><span class="lineNum"> 300 </span> : : __be32 chip_id;</a> -<a name="301"><span class="lineNum"> 301 </span> : : </a> -<a name="302"><span class="lineNum"> 302 </span> : : __be32 io_bar;</a> -<a name="303"><span class="lineNum"> 303 </span> : : __be32 memory_bar;</a> -<a name="304"><span class="lineNum"> 304 </span> : : __be32 firmware_bar;</a> -<a name="305"><span class="lineNum"> 305 </span> : : __be32 internal_bar;</a> -<a name="306"><span class="lineNum"> 306 </span> : : </a> -<a name="307"><span class="lineNum"> 307 </span> : : __be32 mctp_base;</a> -<a name="308"><span class="lineNum"> 308 </span> : : </a> -<a name="309"><span class="lineNum"> 309 </span> : : __be64 uart_base;</a> -<a name="310"><span class="lineNum"> 310 </span> : : __be32 uart_size;</a> -<a name="311"><span class="lineNum"> 311 </span> : : __be32 uart_clk; /* UART baud clock in Hz */</a> -<a name="312"><span class="lineNum"> 312 </span> : : __be32 uart_baud; /* UART baud rate */</a> -<a name="313"><span class="lineNum"> 313 </span> : : </a> -<a name="314"><span class="lineNum"> 314 </span> : : uint8_t uart_int_number;</a> -<a name="315"><span class="lineNum"> 315 </span> : : uint8_t uart_int_type;</a> -<a name="316"><span class="lineNum"> 316 </span> : : #define UART_INT_LVL_LOW 0x1</a> -<a name="317"><span class="lineNum"> 317 </span> : : #define UART_INT_RISING 0x2</a> -<a name="318"><span class="lineNum"> 318 </span> : : #define UART_INT_LVL_HIGH 0x3</a> -<a name="319"><span class="lineNum"> 319 </span> : : uint8_t uart_valid;</a> -<a name="320"><span class="lineNum"> 320 </span> : : uint8_t reserved3;</a> -<a name="321"><span class="lineNum"> 321 </span> : : </a> -<a name="322"><span class="lineNum"> 322 </span> : : __be64 bt_base;</a> -<a name="323"><span class="lineNum"> 323 </span> : : __be32 bt_size;</a> -<a name="324"><span class="lineNum"> 324 </span> : : uint8_t bt_sms_int_num;</a> -<a name="325"><span class="lineNum"> 325 </span> : : uint8_t bt_bmc_response_int_num;</a> -<a name="326"><span class="lineNum"> 326 </span> : : uint8_t reserved4[2];</a> -<a name="327"><span class="lineNum"> 327 </span> : : </a> -<a name="328"><span class="lineNum"> 328 </span> : : __be16 kcs_data_reg_addr;</a> -<a name="329"><span class="lineNum"> 329 </span> : : __be16 kcs_status_reg_addr;</a> -<a name="330"><span class="lineNum"> 330 </span> : : uint8_t kcs_int_number;</a> -<a name="331"><span class="lineNum"> 331 </span> : : </a> -<a name="332"><span class="lineNum"> 332 </span> : : __be64 uart2_base;</a> -<a name="333"><span class="lineNum"> 333 </span> : : __be32 uart2_size;</a> -<a name="334"><span class="lineNum"> 334 </span> : : __be32 uart2_clk; /* UART baud clock in Hz */</a> -<a name="335"><span class="lineNum"> 335 </span> : : __be32 uart2_baud; /* UART baud rate */</a> -<a name="336"><span class="lineNum"> 336 </span> : : uint8_t uart2_int_number;</a> -<a name="337"><span class="lineNum"> 337 </span> : : uint8_t uart2_int_type;</a> -<a name="338"><span class="lineNum"> 338 </span> : : uint8_t uart2_valid;</a> -<a name="339"><span class="lineNum"> 339 </span> : : uint8_t reserved5;</a> -<a name="340"><span class="lineNum"> 340 </span> : : } __packed lpc;</a> -<a name="341"><span class="lineNum"> 341 </span> : : };</a> -<a name="342"><span class="lineNum"> 342 </span> : : } __packed;</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> : : * IPL Parms structure</a> -<a name="346"><span class="lineNum"> 346 </span> : : *</a> -<a name="347"><span class="lineNum"> 347 </span> : : */</a> -<a name="348"><span class="lineNum"> 348 </span> : : </a> -<a name="349"><span class="lineNum"> 349 </span> : : /* Idata index 0: System Parameters */</a> -<a name="350"><span class="lineNum"> 350 </span> : : #define IPLPARAMS_SYSPARAMS 0</a> -<a name="351"><span class="lineNum"> 351 </span> : : </a> -<a name="352"><span class="lineNum"> 352 </span> : : struct iplparams_sysparams {</a> -<a name="353"><span class="lineNum"> 353 </span> : : char sys_model[4];</a> -<a name="354"><span class="lineNum"> 354 </span> : : char cpu_feature_code[4];</a> -<a name="355"><span class="lineNum"> 355 </span> : : __be32 effective_pvr;</a> -<a name="356"><span class="lineNum"> 356 </span> : : __be32 system_type;</a> -<a name="357"><span class="lineNum"> 357 </span> : : uint8_t num_lpar_oct[8];</a> -<a name="358"><span class="lineNum"> 358 </span> : : __be32 abc_bus_speed;</a> -<a name="359"><span class="lineNum"> 359 </span> : : __be32 wxyz_bus_speed;</a> -<a name="360"><span class="lineNum"> 360 </span> : : __be32 sys_eco_mode;</a> -<a name="361"><span class="lineNum"> 361 </span> : : #define SYS_ATTR_MULTIPLE_TPM PPC_BIT32(0)</a> -<a name="362"><span class="lineNum"> 362 </span> : : #define SYS_ATTR_RISK_LEVEL PPC_BIT32(3)</a> -<a name="363"><span class="lineNum"> 363 </span> : : #define SYS_ATTR_MPIPL_SUPPORTED PPC_BIT32(5)</a> -<a name="364"><span class="lineNum"> 364 </span> : : __be32 sys_attributes;</a> -<a name="365"><span class="lineNum"> 365 </span> : : __be32 mem_scrubbing;</a> -<a name="366"><span class="lineNum"> 366 </span> : : __be16 cur_spl_value;</a> -<a name="367"><span class="lineNum"> 367 </span> : : uint8_t pump_mode; /* Reserved */</a> -<a name="368"><span class="lineNum"> 368 </span> : : uint8_t use_pore_sleep;</a> -<a name="369"><span class="lineNum"> 369 </span> : : __be32 pore_image_size; /* Reserved */</a> -<a name="370"><span class="lineNum"> 370 </span> : : uint8_t vtpm_enabled;</a> -<a name="371"><span class="lineNum"> 371 </span> : : uint8_t hw_page_table_size; /* >= 0x59 */</a> -<a name="372"><span class="lineNum"> 372 </span> : : __be16 hv_disp_wheel; /* >= 0x58 */</a> -<a name="373"><span class="lineNum"> 373 </span> : : __be32 nest_freq_mhz; /* >= 0x5b */</a> -<a name="374"><span class="lineNum"> 374 </span> : : uint8_t split_core_mode; /* >= 0x5c */</a> -<a name="375"><span class="lineNum"> 375 </span> : : uint8_t reserved[1];</a> -<a name="376"><span class="lineNum"> 376 </span> : : #define KEY_CLEAR_ALL PPC_BIT16(0)</a> -<a name="377"><span class="lineNum"> 377 </span> : : #define KEY_CLEAR_OS_KEYS PPC_BIT16(1)</a> -<a name="378"><span class="lineNum"> 378 </span> : : #define KEY_CLEAR_MFG PPC_BIT16(7)</a> -<a name="379"><span class="lineNum"> 379 </span> : : __be16 host_fw_key_clear;</a> -<a name="380"><span class="lineNum"> 380 </span> : : uint8_t sys_vendor[64]; /* >= 0x5f */</a> -<a name="381"><span class="lineNum"> 381 </span> : : #define SEC_CONTAINER_SIG_CHECKING PPC_BIT16(0)</a> -<a name="382"><span class="lineNum"> 382 </span> : : #define SEC_HASHES_EXTENDED_TO_TPM PPC_BIT16(1)</a> -<a name="383"><span class="lineNum"> 383 </span> : : #define PHYSICAL_PRESENCE_ASSERTED PPC_BIT16(3)</a> -<a name="384"><span class="lineNum"> 384 </span> : : __be16 sys_sec_setting; /* >= 0x60 */</a> -<a name="385"><span class="lineNum"> 385 </span> : : __be16 tpm_config_bit; /* >= 0x60 */</a> -<a name="386"><span class="lineNum"> 386 </span> : : __be16 tpm_drawer; /* >= 0x60 */</a> -<a name="387"><span class="lineNum"> 387 </span> : : __be16 hw_key_hash_size; /* >= 0x60 */</a> -<a name="388"><span class="lineNum"> 388 </span> : : #define SYSPARAMS_HW_KEY_HASH_MAX 64</a> -<a name="389"><span class="lineNum"> 389 </span> : : uint8_t hw_key_hash[SYSPARAMS_HW_KEY_HASH_MAX]; /* >= 0x60 */</a> -<a name="390"><span class="lineNum"> 390 </span> : : uint8_t sys_family_str[64]; /* vendor,name */</a> -<a name="391"><span class="lineNum"> 391 </span> : : uint8_t sys_type_str[64]; /* vendor,type */</a> -<a name="392"><span class="lineNum"> 392 </span> : : } __packed;</a> -<a name="393"><span class="lineNum"> 393 </span> : : </a> -<a name="394"><span class="lineNum"> 394 </span> : : /* Idata index 1: IPL parameters */</a> -<a name="395"><span class="lineNum"> 395 </span> : : #define IPLPARAMS_IPLPARAMS 1</a> -<a name="396"><span class="lineNum"> 396 </span> : : </a> -<a name="397"><span class="lineNum"> 397 </span> : : struct iplparams_iplparams {</a> -<a name="398"><span class="lineNum"> 398 </span> : : uint8_t reserved;</a> -<a name="399"><span class="lineNum"> 399 </span> : : uint8_t hv_ipl_dest;</a> -<a name="400"><span class="lineNum"> 400 </span> : : uint8_t ipl_side;</a> -<a name="401"><span class="lineNum"> 401 </span> : : #define IPLPARAMS_CEC_FW_IPL_SIDE_TEMP 0x10</a> -<a name="402"><span class="lineNum"> 402 </span> : : #define IPLPARAMS_FSP_FW_IPL_SIDE_TEMP 0x01</a> -<a name="403"><span class="lineNum"> 403 </span> : : uint8_t ipl_speed;</a> -<a name="404"><span class="lineNum"> 404 </span> : : __be16 cec_ipl_attrib;</a> -<a name="405"><span class="lineNum"> 405 </span> : : #define IPLPARAMS_ATTRIB_MEM_PRESERVE PPC_BIT16(2)</a> -<a name="406"><span class="lineNum"> 406 </span> : : uint8_t cec_ipl_maj_type;</a> -<a name="407"><span class="lineNum"> 407 </span> : : #define IPLPARAMS_MAJ_TYPE_REIPL 0x1</a> -<a name="408"><span class="lineNum"> 408 </span> : : uint8_t cec_ipl_min_type;</a> -<a name="409"><span class="lineNum"> 409 </span> : : #define IPLPARAMS_MIN_TYPE_POST_DUMP 0xc</a> -<a name="410"><span class="lineNum"> 410 </span> : : #define IPLPARAMS_MIN_TYPE_PLAT_REBOOT 0xd</a> -<a name="411"><span class="lineNum"> 411 </span> : : uint8_t os_ipl_mode;</a> -<a name="412"><span class="lineNum"> 412 </span> : : uint8_t keylock_pos;</a> -<a name="413"><span class="lineNum"> 413 </span> : : uint8_t lmb_size;</a> -<a name="414"><span class="lineNum"> 414 </span> : : uint8_t deprecated;</a> -<a name="415"><span class="lineNum"> 415 </span> : : __be32 max_hsl_opticonnect;</a> -<a name="416"><span class="lineNum"> 416 </span> : : __be32 other_attrib;</a> -<a name="417"><span class="lineNum"> 417 </span> : : #define IPLPARAMS_OATTR_RST_PCI_BUSNO 0x08000000</a> -<a name="418"><span class="lineNum"> 418 </span> : : #define IPLPARAMS_OATTR_CLEAR_NVRAM 0x04000000</a> -<a name="419"><span class="lineNum"> 419 </span> : : #define IPLPARAMS_OATRR_LIGHT_PATH 0x00000004</a> -<a name="420"><span class="lineNum"> 420 </span> : : __be16 huge_page_count;</a> -<a name="421"><span class="lineNum"> 421 </span> : : uint8_t huge_page_size;</a> -<a name="422"><span class="lineNum"> 422 </span> : : #define IPLPARAMS_HUGE_PG_SIZE_16G 0</a> -<a name="423"><span class="lineNum"> 423 </span> : : uint8_t num_vlan_switches;</a> -<a name="424"><span class="lineNum"> 424 </span> : : __be32 reserved2;</a> -<a name="425"><span class="lineNum"> 425 </span> : : __be32 enlarge_io; /* >= 0x5a */</a> -<a name="426"><span class="lineNum"> 426 </span> : : uint8_t core_config;</a> -<a name="427"><span class="lineNum"> 427 </span> : : #define IPLPARAMS_CORE_NORMAL 0x00</a> -<a name="428"><span class="lineNum"> 428 </span> : : #define IPLPARAMS_CORE_FUSE 0x01</a> -<a name="429"><span class="lineNum"> 429 </span> : : } __packed;</a> -<a name="430"><span class="lineNum"> 430 </span> : : </a> -<a name="431"><span class="lineNum"> 431 </span> : : /* Idata index 4: Platform Dump Descriptor */</a> -<a name="432"><span class="lineNum"> 432 </span> : : #define IPLPARAMS_PLATFORM_DUMP 4</a> -<a name="433"><span class="lineNum"> 433 </span> : : </a> -<a name="434"><span class="lineNum"> 434 </span> : : struct iplparams_dump {</a> -<a name="435"><span class="lineNum"> 435 </span> : : __be16 flags;</a> -<a name="436"><span class="lineNum"> 436 </span> : : uint8_t reserved1;</a> -<a name="437"><span class="lineNum"> 437 </span> : : uint8_t policy;</a> -<a name="438"><span class="lineNum"> 438 </span> : : #define HYP_DUMP_POLICY_NORMAL 0x00</a> -<a name="439"><span class="lineNum"> 439 </span> : : __be32 dump_id;</a> -<a name="440"><span class="lineNum"> 440 </span> : : __be64 reserved2;</a> -<a name="441"><span class="lineNum"> 441 </span> : : __be64 act_dump_sz;</a> -<a name="442"><span class="lineNum"> 442 </span> : : __be32 max_hw_dump_sz;</a> -<a name="443"><span class="lineNum"> 443 </span> : : __be32 act_hw_dump_sz;</a> -<a name="444"><span class="lineNum"> 444 </span> : : __be32 max_sp_dump_sz;</a> -<a name="445"><span class="lineNum"> 445 </span> : : __be32 plid;</a> -<a name="446"><span class="lineNum"> 446 </span> : : } __packed;</a> -<a name="447"><span class="lineNum"> 447 </span> : : </a> -<a name="448"><span class="lineNum"> 448 </span> : : /* Idata index 8: serial ports */</a> -<a name="449"><span class="lineNum"> 449 </span> : : #define IPLPARMS_IDATA_SERIAL 8</a> -<a name="450"><span class="lineNum"> 450 </span> : : </a> -<a name="451"><span class="lineNum"> 451 </span> : : /* An HDIF array of serial descriptions */</a> -<a name="452"><span class="lineNum"> 452 </span> : : struct iplparms_serial {</a> -<a name="453"><span class="lineNum"> 453 </span> : : uint8_t loc_code[LOC_CODE_SIZE];</a> -<a name="454"><span class="lineNum"> 454 </span> : : __be16 rsrc_id;</a> -<a name="455"><span class="lineNum"> 455 </span> : : __be16 flags;</a> -<a name="456"><span class="lineNum"> 456 </span> : : #define PLPARMS_SERIAL_FLAGS_CALLHOME 0x8000</a> -<a name="457"><span class="lineNum"> 457 </span> : : } __packed;</a> -<a name="458"><span class="lineNum"> 458 </span> : : </a> -<a name="459"><span class="lineNum"> 459 </span> : : /* Idata index 9: FW features */</a> -<a name="460"><span class="lineNum"> 460 </span> : : #define IPLPARAMS_FEATURES 9</a> -<a name="461"><span class="lineNum"> 461 </span> : : struct iplparams_feature {</a> -<a name="462"><span class="lineNum"> 462 </span> : : char name[64];</a> -<a name="463"><span class="lineNum"> 463 </span> : : __be64 flags;</a> -<a name="464"><span class="lineNum"> 464 </span> : : } __packed;</a> -<a name="465"><span class="lineNum"> 465 </span> : : </a> -<a name="466"><span class="lineNum"> 466 </span> : : /*</a> -<a name="467"><span class="lineNum"> 467 </span> : : * Chip TOD structure</a> -<a name="468"><span class="lineNum"> 468 </span> : : *</a> -<a name="469"><span class="lineNum"> 469 </span> : : * This is an array of 32 entries (I assume per possible chip)</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> : : /* Idata index 0: Chip ID data (array) */</a> -<a name="473"><span class="lineNum"> 473 </span> : : #define CHIPTOD_IDATA_CHIPID 0</a> -<a name="474"><span class="lineNum"> 474 </span> : : </a> -<a name="475"><span class="lineNum"> 475 </span> : : struct chiptod_chipid {</a> -<a name="476"><span class="lineNum"> 476 </span> : : __be32 chip_id;</a> -<a name="477"><span class="lineNum"> 477 </span> : : __be32 flags;</a> -<a name="478"><span class="lineNum"> 478 </span> : : #define CHIPTOD_ID_FLAGS_PRIMARY 0x02</a> -<a name="479"><span class="lineNum"> 479 </span> : : #define CHIPTOD_ID_FLAGS_SECONDARY 0x01</a> -<a name="480"><span class="lineNum"> 480 </span> : : #define CHIPTOD_ID_FLAGS_STATUS_MASK 0x0c</a> -<a name="481"><span class="lineNum"> 481 </span> : : #define CHIPTOD_ID_FLAGS_STATUS_OK 0x04</a> -<a name="482"><span class="lineNum"> 482 </span> : : #define CHIPTOD_ID_FLAGS_STATUS_NOK 0x08</a> -<a name="483"><span class="lineNum"> 483 </span> : : } __packed;</a> -<a name="484"><span class="lineNum"> 484 </span> : : </a> -<a name="485"><span class="lineNum"> 485 </span> : : /* Idata index 0: Chip Initialization data */</a> -<a name="486"><span class="lineNum"> 486 </span> : : #define CHIPTOD_IDATA_CHIPINIT 1</a> +<a name="294"><span class="lineNum"> 294 </span> : : /* Idata index 0: System Parameters */</a> +<a name="295"><span class="lineNum"> 295 </span> : : #define IPLPARAMS_SYSPARAMS 0</a> +<a name="296"><span class="lineNum"> 296 </span> : : </a> +<a name="297"><span class="lineNum"> 297 </span> : : struct iplparams_sysparams {</a> +<a name="298"><span class="lineNum"> 298 </span> : : char sys_model[4];</a> +<a name="299"><span class="lineNum"> 299 </span> : : char cpu_feature_code[4];</a> +<a name="300"><span class="lineNum"> 300 </span> : : __be32 effective_pvr;</a> +<a name="301"><span class="lineNum"> 301 </span> : : __be32 system_type;</a> +<a name="302"><span class="lineNum"> 302 </span> : : uint8_t num_lpar_oct[8];</a> +<a name="303"><span class="lineNum"> 303 </span> : : __be32 abc_bus_speed;</a> +<a name="304"><span class="lineNum"> 304 </span> : : __be32 wxyz_bus_speed;</a> +<a name="305"><span class="lineNum"> 305 </span> : : __be32 sys_eco_mode;</a> +<a name="306"><span class="lineNum"> 306 </span> : : #define SYS_ATTR_MULTIPLE_TPM PPC_BIT32(0)</a> +<a name="307"><span class="lineNum"> 307 </span> : : #define SYS_ATTR_RISK_LEVEL PPC_BIT32(3)</a> +<a name="308"><span class="lineNum"> 308 </span> : : #define SYS_ATTR_MPIPL_SUPPORTED PPC_BIT32(5)</a> +<a name="309"><span class="lineNum"> 309 </span> : : __be32 sys_attributes;</a> +<a name="310"><span class="lineNum"> 310 </span> : : __be32 mem_scrubbing;</a> +<a name="311"><span class="lineNum"> 311 </span> : : __be16 cur_spl_value;</a> +<a name="312"><span class="lineNum"> 312 </span> : : uint8_t pump_mode; /* Reserved */</a> +<a name="313"><span class="lineNum"> 313 </span> : : uint8_t use_pore_sleep;</a> +<a name="314"><span class="lineNum"> 314 </span> : : __be32 pore_image_size; /* Reserved */</a> +<a name="315"><span class="lineNum"> 315 </span> : : uint8_t vtpm_enabled;</a> +<a name="316"><span class="lineNum"> 316 </span> : : uint8_t hw_page_table_size; /* >= 0x59 */</a> +<a name="317"><span class="lineNum"> 317 </span> : : __be16 hv_disp_wheel; /* >= 0x58 */</a> +<a name="318"><span class="lineNum"> 318 </span> : : __be32 nest_freq_mhz; /* >= 0x5b */</a> +<a name="319"><span class="lineNum"> 319 </span> : : uint8_t split_core_mode; /* >= 0x5c */</a> +<a name="320"><span class="lineNum"> 320 </span> : : uint8_t reserved[1];</a> +<a name="321"><span class="lineNum"> 321 </span> : : #define KEY_CLEAR_ALL PPC_BIT16(0)</a> +<a name="322"><span class="lineNum"> 322 </span> : : #define KEY_CLEAR_OS_KEYS PPC_BIT16(1)</a> +<a name="323"><span class="lineNum"> 323 </span> : : #define KEY_CLEAR_MFG PPC_BIT16(7)</a> +<a name="324"><span class="lineNum"> 324 </span> : : __be16 host_fw_key_clear;</a> +<a name="325"><span class="lineNum"> 325 </span> : : uint8_t sys_vendor[64]; /* >= 0x5f */</a> +<a name="326"><span class="lineNum"> 326 </span> : : #define SEC_CONTAINER_SIG_CHECKING PPC_BIT16(0)</a> +<a name="327"><span class="lineNum"> 327 </span> : : #define SEC_HASHES_EXTENDED_TO_TPM PPC_BIT16(1)</a> +<a name="328"><span class="lineNum"> 328 </span> : : #define PHYSICAL_PRESENCE_ASSERTED PPC_BIT16(3)</a> +<a name="329"><span class="lineNum"> 329 </span> : : __be16 sys_sec_setting; /* >= 0x60 */</a> +<a name="330"><span class="lineNum"> 330 </span> : : __be16 tpm_config_bit; /* >= 0x60 */</a> +<a name="331"><span class="lineNum"> 331 </span> : : __be16 tpm_drawer; /* >= 0x60 */</a> +<a name="332"><span class="lineNum"> 332 </span> : : __be16 hw_key_hash_size; /* >= 0x60 */</a> +<a name="333"><span class="lineNum"> 333 </span> : : #define SYSPARAMS_HW_KEY_HASH_MAX 64</a> +<a name="334"><span class="lineNum"> 334 </span> : : uint8_t hw_key_hash[SYSPARAMS_HW_KEY_HASH_MAX]; /* >= 0x60 */</a> +<a name="335"><span class="lineNum"> 335 </span> : : uint8_t sys_family_str[64]; /* vendor,name */</a> +<a name="336"><span class="lineNum"> 336 </span> : : uint8_t sys_type_str[64]; /* vendor,type */</a> +<a name="337"><span class="lineNum"> 337 </span> : : } __packed;</a> +<a name="338"><span class="lineNum"> 338 </span> : : </a> +<a name="339"><span class="lineNum"> 339 </span> : : /* Idata index 1: IPL parameters */</a> +<a name="340"><span class="lineNum"> 340 </span> : : #define IPLPARAMS_IPLPARAMS 1</a> +<a name="341"><span class="lineNum"> 341 </span> : : </a> +<a name="342"><span class="lineNum"> 342 </span> : : struct iplparams_iplparams {</a> +<a name="343"><span class="lineNum"> 343 </span> : : uint8_t reserved;</a> +<a name="344"><span class="lineNum"> 344 </span> : : uint8_t hv_ipl_dest;</a> +<a name="345"><span class="lineNum"> 345 </span> : : uint8_t ipl_side;</a> +<a name="346"><span class="lineNum"> 346 </span> : : #define IPLPARAMS_CEC_FW_IPL_SIDE_TEMP 0x10</a> +<a name="347"><span class="lineNum"> 347 </span> : : #define IPLPARAMS_FSP_FW_IPL_SIDE_TEMP 0x01</a> +<a name="348"><span class="lineNum"> 348 </span> : : uint8_t ipl_speed;</a> +<a name="349"><span class="lineNum"> 349 </span> : : __be16 cec_ipl_attrib;</a> +<a name="350"><span class="lineNum"> 350 </span> : : #define IPLPARAMS_ATTRIB_MEM_PRESERVE PPC_BIT16(2)</a> +<a name="351"><span class="lineNum"> 351 </span> : : uint8_t cec_ipl_maj_type;</a> +<a name="352"><span class="lineNum"> 352 </span> : : #define IPLPARAMS_MAJ_TYPE_REIPL 0x1</a> +<a name="353"><span class="lineNum"> 353 </span> : : uint8_t cec_ipl_min_type;</a> +<a name="354"><span class="lineNum"> 354 </span> : : #define IPLPARAMS_MIN_TYPE_POST_DUMP 0xc</a> +<a name="355"><span class="lineNum"> 355 </span> : : #define IPLPARAMS_MIN_TYPE_PLAT_REBOOT 0xd</a> +<a name="356"><span class="lineNum"> 356 </span> : : uint8_t os_ipl_mode;</a> +<a name="357"><span class="lineNum"> 357 </span> : : uint8_t keylock_pos;</a> +<a name="358"><span class="lineNum"> 358 </span> : : uint8_t lmb_size;</a> +<a name="359"><span class="lineNum"> 359 </span> : : uint8_t deprecated;</a> +<a name="360"><span class="lineNum"> 360 </span> : : __be32 max_hsl_opticonnect;</a> +<a name="361"><span class="lineNum"> 361 </span> : : __be32 other_attrib;</a> +<a name="362"><span class="lineNum"> 362 </span> : : #define IPLPARAMS_OATTR_RST_PCI_BUSNO 0x08000000</a> +<a name="363"><span class="lineNum"> 363 </span> : : #define IPLPARAMS_OATTR_CLEAR_NVRAM 0x04000000</a> +<a name="364"><span class="lineNum"> 364 </span> : : #define IPLPARAMS_OATRR_LIGHT_PATH 0x00000004</a> +<a name="365"><span class="lineNum"> 365 </span> : : __be16 huge_page_count;</a> +<a name="366"><span class="lineNum"> 366 </span> : : uint8_t huge_page_size;</a> +<a name="367"><span class="lineNum"> 367 </span> : : #define IPLPARAMS_HUGE_PG_SIZE_16G 0</a> +<a name="368"><span class="lineNum"> 368 </span> : : uint8_t num_vlan_switches;</a> +<a name="369"><span class="lineNum"> 369 </span> : : __be32 reserved2;</a> +<a name="370"><span class="lineNum"> 370 </span> : : __be32 enlarge_io; /* >= 0x5a */</a> +<a name="371"><span class="lineNum"> 371 </span> : : uint8_t core_config;</a> +<a name="372"><span class="lineNum"> 372 </span> : : #define IPLPARAMS_CORE_NORMAL 0x00</a> +<a name="373"><span class="lineNum"> 373 </span> : : #define IPLPARAMS_CORE_FUSE 0x01</a> +<a name="374"><span class="lineNum"> 374 </span> : : } __packed;</a> +<a name="375"><span class="lineNum"> 375 </span> : : </a> +<a name="376"><span class="lineNum"> 376 </span> : : /* Idata index 4: Platform Dump Descriptor */</a> +<a name="377"><span class="lineNum"> 377 </span> : : #define IPLPARAMS_PLATFORM_DUMP 4</a> +<a name="378"><span class="lineNum"> 378 </span> : : </a> +<a name="379"><span class="lineNum"> 379 </span> : : struct iplparams_dump {</a> +<a name="380"><span class="lineNum"> 380 </span> : : __be16 flags;</a> +<a name="381"><span class="lineNum"> 381 </span> : : uint8_t reserved1;</a> +<a name="382"><span class="lineNum"> 382 </span> : : uint8_t policy;</a> +<a name="383"><span class="lineNum"> 383 </span> : : #define HYP_DUMP_POLICY_NORMAL 0x00</a> +<a name="384"><span class="lineNum"> 384 </span> : : __be32 dump_id;</a> +<a name="385"><span class="lineNum"> 385 </span> : : __be64 reserved2;</a> +<a name="386"><span class="lineNum"> 386 </span> : : __be64 act_dump_sz;</a> +<a name="387"><span class="lineNum"> 387 </span> : : __be32 max_hw_dump_sz;</a> +<a name="388"><span class="lineNum"> 388 </span> : : __be32 act_hw_dump_sz;</a> +<a name="389"><span class="lineNum"> 389 </span> : : __be32 max_sp_dump_sz;</a> +<a name="390"><span class="lineNum"> 390 </span> : : __be32 plid;</a> +<a name="391"><span class="lineNum"> 391 </span> : : } __packed;</a> +<a name="392"><span class="lineNum"> 392 </span> : : </a> +<a name="393"><span class="lineNum"> 393 </span> : : /* Idata index 8: serial ports */</a> +<a name="394"><span class="lineNum"> 394 </span> : : #define IPLPARMS_IDATA_SERIAL 8</a> +<a name="395"><span class="lineNum"> 395 </span> : : </a> +<a name="396"><span class="lineNum"> 396 </span> : : /* An HDIF array of serial descriptions */</a> +<a name="397"><span class="lineNum"> 397 </span> : : struct iplparms_serial {</a> +<a name="398"><span class="lineNum"> 398 </span> : : uint8_t loc_code[LOC_CODE_SIZE];</a> +<a name="399"><span class="lineNum"> 399 </span> : : __be16 rsrc_id;</a> +<a name="400"><span class="lineNum"> 400 </span> : : __be16 flags;</a> +<a name="401"><span class="lineNum"> 401 </span> : : #define PLPARMS_SERIAL_FLAGS_CALLHOME 0x8000</a> +<a name="402"><span class="lineNum"> 402 </span> : : } __packed;</a> +<a name="403"><span class="lineNum"> 403 </span> : : </a> +<a name="404"><span class="lineNum"> 404 </span> : : /* Idata index 9: FW features */</a> +<a name="405"><span class="lineNum"> 405 </span> : : #define IPLPARAMS_FEATURES 9</a> +<a name="406"><span class="lineNum"> 406 </span> : : struct iplparams_feature {</a> +<a name="407"><span class="lineNum"> 407 </span> : : char name[64];</a> +<a name="408"><span class="lineNum"> 408 </span> : : __be64 flags;</a> +<a name="409"><span class="lineNum"> 409 </span> : : } __packed;</a> +<a name="410"><span class="lineNum"> 410 </span> : : </a> +<a name="411"><span class="lineNum"> 411 </span> : : /*</a> +<a name="412"><span class="lineNum"> 412 </span> : : * Chip TOD structure</a> +<a name="413"><span class="lineNum"> 413 </span> : : *</a> +<a name="414"><span class="lineNum"> 414 </span> : : * This is an array of 32 entries (I assume per possible chip)</a> +<a name="415"><span class="lineNum"> 415 </span> : : */</a> +<a name="416"><span class="lineNum"> 416 </span> : : </a> +<a name="417"><span class="lineNum"> 417 </span> : : /* Idata index 0: Chip ID data (array) */</a> +<a name="418"><span class="lineNum"> 418 </span> : : #define CHIPTOD_IDATA_CHIPID 0</a> +<a name="419"><span class="lineNum"> 419 </span> : : </a> +<a name="420"><span class="lineNum"> 420 </span> : : struct chiptod_chipid {</a> +<a name="421"><span class="lineNum"> 421 </span> : : __be32 chip_id;</a> +<a name="422"><span class="lineNum"> 422 </span> : : __be32 flags;</a> +<a name="423"><span class="lineNum"> 423 </span> : : #define CHIPTOD_ID_FLAGS_PRIMARY 0x02</a> +<a name="424"><span class="lineNum"> 424 </span> : : #define CHIPTOD_ID_FLAGS_SECONDARY 0x01</a> +<a name="425"><span class="lineNum"> 425 </span> : : #define CHIPTOD_ID_FLAGS_STATUS_MASK 0x0c</a> +<a name="426"><span class="lineNum"> 426 </span> : : #define CHIPTOD_ID_FLAGS_STATUS_OK 0x04</a> +<a name="427"><span class="lineNum"> 427 </span> : : #define CHIPTOD_ID_FLAGS_STATUS_NOK 0x08</a> +<a name="428"><span class="lineNum"> 428 </span> : : } __packed;</a> +<a name="429"><span class="lineNum"> 429 </span> : : </a> +<a name="430"><span class="lineNum"> 430 </span> : : /* Idata index 0: Chip Initialization data */</a> +<a name="431"><span class="lineNum"> 431 </span> : : #define CHIPTOD_IDATA_CHIPINIT 1</a> +<a name="432"><span class="lineNum"> 432 </span> : : </a> +<a name="433"><span class="lineNum"> 433 </span> : : struct chiptod_chipinit {</a> +<a name="434"><span class="lineNum"> 434 </span> : : __be32 ctrl_reg_internal;</a> +<a name="435"><span class="lineNum"> 435 </span> : : __be32 tod_ctrl_reg;</a> +<a name="436"><span class="lineNum"> 436 </span> : : } __packed;</a> +<a name="437"><span class="lineNum"> 437 </span> : : </a> +<a name="438"><span class="lineNum"> 438 </span> : : /*</a> +<a name="439"><span class="lineNum"> 439 </span> : : * MS VPD - Memory Description Tree</a> +<a name="440"><span class="lineNum"> 440 </span> : : *</a> +<a name="441"><span class="lineNum"> 441 </span> : : * One such structure pointing to the various memory arrays</a> +<a name="442"><span class="lineNum"> 442 </span> : : * along with other infos about the BCRs, Page Mover, XSCOM,...</a> +<a name="443"><span class="lineNum"> 443 </span> : : */</a> +<a name="444"><span class="lineNum"> 444 </span> : : #define MSVPD_HDIF_SIG "MS VPD"</a> +<a name="445"><span class="lineNum"> 445 </span> : : </a> +<a name="446"><span class="lineNum"> 446 </span> : : /* Idata index 0: Mainstore address config */</a> +<a name="447"><span class="lineNum"> 447 </span> : : #define MSVPD_IDATA_MS_ADDR_CONFIG 0</a> +<a name="448"><span class="lineNum"> 448 </span> : : </a> +<a name="449"><span class="lineNum"> 449 </span> : : /* Mainstore Address Configuration */</a> +<a name="450"><span class="lineNum"> 450 </span> : : struct msvpd_ms_addr_config {</a> +<a name="451"><span class="lineNum"> 451 </span> : : __be64 max_configured_ms_address;</a> +<a name="452"><span class="lineNum"> 452 </span> : : __be64 max_possible_ms_address;</a> +<a name="453"><span class="lineNum"> 453 </span> : : __be32 deprecated;</a> +<a name="454"><span class="lineNum"> 454 </span> : : __be64 mirrorable_memory_starting_address;</a> +<a name="455"><span class="lineNum"> 455 </span> : : __be64 hrmor_stash_loc_address;</a> +<a name="456"><span class="lineNum"> 456 </span> : : } __packed;</a> +<a name="457"><span class="lineNum"> 457 </span> : : </a> +<a name="458"><span class="lineNum"> 458 </span> : : /* Idata index 1: Total configured mainstore */</a> +<a name="459"><span class="lineNum"> 459 </span> : : #define MSVPD_IDATA_TOTAL_CONFIG_MS 1</a> +<a name="460"><span class="lineNum"> 460 </span> : : </a> +<a name="461"><span class="lineNum"> 461 </span> : : struct msvpd_total_config_ms {</a> +<a name="462"><span class="lineNum"> 462 </span> : : __be64 total_in_mb;</a> +<a name="463"><span class="lineNum"> 463 </span> : : } __packed;</a> +<a name="464"><span class="lineNum"> 464 </span> : : </a> +<a name="465"><span class="lineNum"> 465 </span> : : /* Idata index 2: Page mover and sync structure */</a> +<a name="466"><span class="lineNum"> 466 </span> : : #define MSVPD_IDATA_PMOVER_SYNCHRO 2</a> +<a name="467"><span class="lineNum"> 467 </span> : : </a> +<a name="468"><span class="lineNum"> 468 </span> : : struct msvpd_pmover_bsr_synchro {</a> +<a name="469"><span class="lineNum"> 469 </span> : : __be32 flags;</a> +<a name="470"><span class="lineNum"> 470 </span> : : #define MSVPD_PMS_FLAG_HWLOCK_EN 0x80000000</a> +<a name="471"><span class="lineNum"> 471 </span> : : #define MSVPD_PMS_FLAG_PMOVER_EN 0x40000000</a> +<a name="472"><span class="lineNum"> 472 </span> : : #define MSVPD_PMS_FLAG_BSR_EN 0x20000000</a> +<a name="473"><span class="lineNum"> 473 </span> : : #define MSVPD_PMS_FLAG_XSCOMBASE_VALID 0x10000000</a> +<a name="474"><span class="lineNum"> 474 </span> : : __be32 hwlocks_per_page;</a> +<a name="475"><span class="lineNum"> 475 </span> : : __be64 hwlock_addr;</a> +<a name="476"><span class="lineNum"> 476 </span> : : __be64 pmover_addr;</a> +<a name="477"><span class="lineNum"> 477 </span> : : __be64 bsr_addr;</a> +<a name="478"><span class="lineNum"> 478 </span> : : __be64 xscom_addr;</a> +<a name="479"><span class="lineNum"> 479 </span> : : } __packed;</a> +<a name="480"><span class="lineNum"> 480 </span> : : </a> +<a name="481"><span class="lineNum"> 481 </span> : : /* Idata index 3: Memory Trace Array */</a> +<a name="482"><span class="lineNum"> 482 </span> : : #define MSVPD_IDATA_TRACE_AREAS 3</a> +<a name="483"><span class="lineNum"> 483 </span> : : struct msvpd_trace {</a> +<a name="484"><span class="lineNum"> 484 </span> : : __be64 start, end;</a> +<a name="485"><span class="lineNum"> 485 </span> : : char reserved[16];</a> +<a name="486"><span class="lineNum"> 486 </span> : : };</a> <a name="487"><span class="lineNum"> 487 </span> : : </a> -<a name="488"><span class="lineNum"> 488 </span> : : struct chiptod_chipinit {</a> -<a name="489"><span class="lineNum"> 489 </span> : : __be32 ctrl_reg_internal;</a> -<a name="490"><span class="lineNum"> 490 </span> : : __be32 tod_ctrl_reg;</a> -<a name="491"><span class="lineNum"> 491 </span> : : } __packed;</a> -<a name="492"><span class="lineNum"> 492 </span> : : </a> -<a name="493"><span class="lineNum"> 493 </span> : : /*</a> -<a name="494"><span class="lineNum"> 494 </span> : : * MS VPD - Memory Description Tree</a> -<a name="495"><span class="lineNum"> 495 </span> : : *</a> -<a name="496"><span class="lineNum"> 496 </span> : : * One such structure pointing to the various memory arrays</a> -<a name="497"><span class="lineNum"> 497 </span> : : * along with other infos about the BCRs, Page Mover, XSCOM,...</a> -<a name="498"><span class="lineNum"> 498 </span> : : */</a> -<a name="499"><span class="lineNum"> 499 </span> : : #define MSVPD_HDIF_SIG "MS VPD"</a> -<a name="500"><span class="lineNum"> 500 </span> : : </a> -<a name="501"><span class="lineNum"> 501 </span> : : /* Idata index 0: Mainstore address config */</a> -<a name="502"><span class="lineNum"> 502 </span> : : #define MSVPD_IDATA_MS_ADDR_CONFIG 0</a> -<a name="503"><span class="lineNum"> 503 </span> : : </a> -<a name="504"><span class="lineNum"> 504 </span> : : /* Mainstore Address Configuration */</a> -<a name="505"><span class="lineNum"> 505 </span> : : struct msvpd_ms_addr_config {</a> -<a name="506"><span class="lineNum"> 506 </span> : : __be64 max_configured_ms_address;</a> -<a name="507"><span class="lineNum"> 507 </span> : : __be64 max_possible_ms_address;</a> -<a name="508"><span class="lineNum"> 508 </span> : : __be32 deprecated;</a> -<a name="509"><span class="lineNum"> 509 </span> : : __be64 mirrorable_memory_starting_address;</a> -<a name="510"><span class="lineNum"> 510 </span> : : __be64 hrmor_stash_loc_address;</a> -<a name="511"><span class="lineNum"> 511 </span> : : } __packed;</a> -<a name="512"><span class="lineNum"> 512 </span> : : </a> -<a name="513"><span class="lineNum"> 513 </span> : : /* Idata index 1: Total configured mainstore */</a> -<a name="514"><span class="lineNum"> 514 </span> : : #define MSVPD_IDATA_TOTAL_CONFIG_MS 1</a> -<a name="515"><span class="lineNum"> 515 </span> : : </a> -<a name="516"><span class="lineNum"> 516 </span> : : struct msvpd_total_config_ms {</a> -<a name="517"><span class="lineNum"> 517 </span> : : __be64 total_in_mb;</a> -<a name="518"><span class="lineNum"> 518 </span> : : } __packed;</a> -<a name="519"><span class="lineNum"> 519 </span> : : </a> -<a name="520"><span class="lineNum"> 520 </span> : : /* Idata index 2: Page mover and sync structure */</a> -<a name="521"><span class="lineNum"> 521 </span> : : #define MSVPD_IDATA_PMOVER_SYNCHRO 2</a> -<a name="522"><span class="lineNum"> 522 </span> : : </a> -<a name="523"><span class="lineNum"> 523 </span> : : struct msvpd_pmover_bsr_synchro {</a> -<a name="524"><span class="lineNum"> 524 </span> : : __be32 flags;</a> -<a name="525"><span class="lineNum"> 525 </span> : : #define MSVPD_PMS_FLAG_HWLOCK_EN 0x80000000</a> -<a name="526"><span class="lineNum"> 526 </span> : : #define MSVPD_PMS_FLAG_PMOVER_EN 0x40000000</a> -<a name="527"><span class="lineNum"> 527 </span> : : #define MSVPD_PMS_FLAG_BSR_EN 0x20000000</a> -<a name="528"><span class="lineNum"> 528 </span> : : #define MSVPD_PMS_FLAG_XSCOMBASE_VALID 0x10000000</a> -<a name="529"><span class="lineNum"> 529 </span> : : __be32 hwlocks_per_page;</a> -<a name="530"><span class="lineNum"> 530 </span> : : __be64 hwlock_addr;</a> -<a name="531"><span class="lineNum"> 531 </span> : : __be64 pmover_addr;</a> -<a name="532"><span class="lineNum"> 532 </span> : : __be64 bsr_addr;</a> -<a name="533"><span class="lineNum"> 533 </span> : : __be64 xscom_addr;</a> -<a name="534"><span class="lineNum"> 534 </span> : : } __packed;</a> -<a name="535"><span class="lineNum"> 535 </span> : : </a> -<a name="536"><span class="lineNum"> 536 </span> : : /* Idata index 3: Memory Trace Array */</a> -<a name="537"><span class="lineNum"> 537 </span> : : #define MSVPD_IDATA_TRACE_AREAS 3</a> -<a name="538"><span class="lineNum"> 538 </span> : : struct msvpd_trace {</a> -<a name="539"><span class="lineNum"> 539 </span> : : __be64 start, end;</a> -<a name="540"><span class="lineNum"> 540 </span> : : char reserved[16];</a> -<a name="541"><span class="lineNum"> 541 </span> : : };</a> +<a name="488"><span class="lineNum"> 488 </span> : : /* Idata index 4: UE Address Array */</a> +<a name="489"><span class="lineNum"> 489 </span> : : </a> +<a name="490"><span class="lineNum"> 490 </span> : : /* Idata index 5: Hostboot reserved memory address range */</a> +<a name="491"><span class="lineNum"> 491 </span> : : #define MSVPD_IDATA_HB_RESERVED_MEM 5</a> +<a name="492"><span class="lineNum"> 492 </span> : : #define HB_RESERVE_MEM_LABEL_SIZE 64</a> +<a name="493"><span class="lineNum"> 493 </span> : : struct msvpd_hb_reserved_mem {</a> +<a name="494"><span class="lineNum"> 494 </span> : : #define MSVPD_HBRMEM_RANGE_TYPE PPC_BITMASK32(0,7)</a> +<a name="495"><span class="lineNum"> 495 </span> : : #define HBRMEM_CONTAINER_VERIFICATION_CODE 0x3</a> +<a name="496"><span class="lineNum"> 496 </span> : : __be32 type_instance;</a> +<a name="497"><span class="lineNum"> 497 </span> : : __be64 start_addr;</a> +<a name="498"><span class="lineNum"> 498 </span> : : __be64 end_addr;</a> +<a name="499"><span class="lineNum"> 499 </span> : : __be32 label_size;</a> +<a name="500"><span class="lineNum"> 500 </span> : : uint8_t label[HB_RESERVE_MEM_LABEL_SIZE];</a> +<a name="501"><span class="lineNum"> 501 </span> : : uint8_t rw_perms;</a> +<a name="502"><span class="lineNum"> 502 </span> : : #define HB_RESERVE_READABLE 0x80</a> +<a name="503"><span class="lineNum"> 503 </span> : : #define HB_RESERVE_WRITEABLE 0x40</a> +<a name="504"><span class="lineNum"> 504 </span> : : uint8_t reserved[7];</a> +<a name="505"><span class="lineNum"> 505 </span> : : } __packed;</a> +<a name="506"><span class="lineNum"> 506 </span> : : </a> +<a name="507"><span class="lineNum"> 507 </span> : : /* Child index 0: MS area child structure */</a> +<a name="508"><span class="lineNum"> 508 </span> : : #define MSVPD_CHILD_MS_AREAS 0</a> +<a name="509"><span class="lineNum"> 509 </span> : : </a> +<a name="510"><span class="lineNum"> 510 </span> : : /*</a> +<a name="511"><span class="lineNum"> 511 </span> : : * CEC I/O Hub FRU</a> +<a name="512"><span class="lineNum"> 512 </span> : : *</a> +<a name="513"><span class="lineNum"> 513 </span> : : * This is an array of CEC Hub FRU HDIF structures</a> +<a name="514"><span class="lineNum"> 514 </span> : : *</a> +<a name="515"><span class="lineNum"> 515 </span> : : * Each of these has some idata pointers to generic info about the</a> +<a name="516"><span class="lineNum"> 516 </span> : : * hub and a possible child pointer for daughter card.</a> +<a name="517"><span class="lineNum"> 517 </span> : : *</a> +<a name="518"><span class="lineNum"> 518 </span> : : * Actual ports are in the SLCA and need to be cross referenced</a> +<a name="519"><span class="lineNum"> 519 </span> : : *</a> +<a name="520"><span class="lineNum"> 520 </span> : : * Note that slots meant for the addition of GX+ adapters that</a> +<a name="521"><span class="lineNum"> 521 </span> : : * are currently unpopulated but support hotplug will have a</a> +<a name="522"><span class="lineNum"> 522 </span> : : * minimum "placeholder" entry, which will be fully populated</a> +<a name="523"><span class="lineNum"> 523 </span> : : * when the array is rebuild during concurrent maintenance.</a> +<a name="524"><span class="lineNum"> 524 </span> : : * This "placeholder" is called a "reservation".</a> +<a name="525"><span class="lineNum"> 525 </span> : : *</a> +<a name="526"><span class="lineNum"> 526 </span> : : * WARNING: The array rebuild by concurrent maintenance is not</a> +<a name="527"><span class="lineNum"> 527 </span> : : * guaranteed to be in the same order as the IPL array, not is</a> +<a name="528"><span class="lineNum"> 528 </span> : : * the order stable between concurrent maintenance operations.</a> +<a name="529"><span class="lineNum"> 529 </span> : : *</a> +<a name="530"><span class="lineNum"> 530 </span> : : * There's also a child pointer to daughter card structures but</a> +<a name="531"><span class="lineNum"> 531 </span> : : * we aren't going to handle that just yet.</a> +<a name="532"><span class="lineNum"> 532 </span> : : */</a> +<a name="533"><span class="lineNum"> 533 </span> : : #define CECHUB_FRU_HDIF_SIG "IO HUB"</a> +<a name="534"><span class="lineNum"> 534 </span> : : #define IOKID_FRU_HDIF_SIG "IO KID"</a> +<a name="535"><span class="lineNum"> 535 </span> : : #define IOSLOT_FRU_HDIF_SIG "IOSLOT"</a> +<a name="536"><span class="lineNum"> 536 </span> : : </a> +<a name="537"><span class="lineNum"> 537 </span> : : /* Idata index 0: FRU ID data</a> +<a name="538"><span class="lineNum"> 538 </span> : : *</a> +<a name="539"><span class="lineNum"> 539 </span> : : * This is a generic struct spira_fru_id defined above</a> +<a name="540"><span class="lineNum"> 540 </span> : : */</a> +<a name="541"><span class="lineNum"> 541 </span> : : #define CECHUB_FRU_ID_DATA 0</a> <a name="542"><span class="lineNum"> 542 </span> : : </a> -<a name="543"><span class="lineNum"> 543 </span> : : /* Idata index 4: UE Address Array */</a> -<a name="544"><span class="lineNum"> 544 </span> : : </a> -<a name="545"><span class="lineNum"> 545 </span> : : /* Idata index 5: Hostboot reserved memory address range */</a> -<a name="546"><span class="lineNum"> 546 </span> : : #define MSVPD_IDATA_HB_RESERVED_MEM 5</a> -<a name="547"><span class="lineNum"> 547 </span> : : #define HB_RESERVE_MEM_LABEL_SIZE 64</a> -<a name="548"><span class="lineNum"> 548 </span> : : struct msvpd_hb_reserved_mem {</a> -<a name="549"><span class="lineNum"> 549 </span> : : #define MSVPD_HBRMEM_RANGE_TYPE PPC_BITMASK32(0,7)</a> -<a name="550"><span class="lineNum"> 550 </span> : : #define HBRMEM_CONTAINER_VERIFICATION_CODE 0x3</a> -<a name="551"><span class="lineNum"> 551 </span> : : __be32 type_instance;</a> -<a name="552"><span class="lineNum"> 552 </span> : : __be64 start_addr;</a> -<a name="553"><span class="lineNum"> 553 </span> : : __be64 end_addr;</a> -<a name="554"><span class="lineNum"> 554 </span> : : __be32 label_size;</a> -<a name="555"><span class="lineNum"> 555 </span> : : uint8_t label[HB_RESERVE_MEM_LABEL_SIZE];</a> -<a name="556"><span class="lineNum"> 556 </span> : : uint8_t rw_perms;</a> -<a name="557"><span class="lineNum"> 557 </span> : : #define HB_RESERVE_READABLE 0x80</a> -<a name="558"><span class="lineNum"> 558 </span> : : #define HB_RESERVE_WRITEABLE 0x40</a> -<a name="559"><span class="lineNum"> 559 </span> : : uint8_t reserved[7];</a> -<a name="560"><span class="lineNum"> 560 </span> : : } __packed;</a> -<a name="561"><span class="lineNum"> 561 </span> : : </a> -<a name="562"><span class="lineNum"> 562 </span> : : /* Child index 0: MS area child structure */</a> -<a name="563"><span class="lineNum"> 563 </span> : : #define MSVPD_CHILD_MS_AREAS 0</a> -<a name="564"><span class="lineNum"> 564 </span> : : </a> -<a name="565"><span class="lineNum"> 565 </span> : : /*</a> -<a name="566"><span class="lineNum"> 566 </span> : : * CEC I/O Hub FRU</a> -<a name="567"><span class="lineNum"> 567 </span> : : *</a> -<a name="568"><span class="lineNum"> 568 </span> : : * This is an array of CEC Hub FRU HDIF structures</a> -<a name="569"><span class="lineNum"> 569 </span> : : *</a> -<a name="570"><span class="lineNum"> 570 </span> : : * Each of these has some idata pointers to generic info about the</a> -<a name="571"><span class="lineNum"> 571 </span> : : * hub and a possible child pointer for daughter card.</a> -<a name="572"><span class="lineNum"> 572 </span> : : *</a> -<a name="573"><span class="lineNum"> 573 </span> : : * Actual ports are in the SLCA and need to be cross referenced</a> -<a name="574"><span class="lineNum"> 574 </span> : : *</a> -<a name="575"><span class="lineNum"> 575 </span> : : * Note that slots meant for the addition of GX+ adapters that</a> -<a name="576"><span class="lineNum"> 576 </span> : : * are currently unpopulated but support hotplug will have a</a> -<a name="577"><span class="lineNum"> 577 </span> : : * minimum "placeholder" entry, which will be fully populated</a> -<a name="578"><span class="lineNum"> 578 </span> : : * when the array is rebuild during concurrent maintenance.</a> -<a name="579"><span class="lineNum"> 579 </span> : : * This "placeholder" is called a "reservation".</a> -<a name="580"><span class="lineNum"> 580 </span> : : *</a> -<a name="581"><span class="lineNum"> 581 </span> : : * WARNING: The array rebuild by concurrent maintenance is not</a> -<a name="582"><span class="lineNum"> 582 </span> : : * guaranteed to be in the same order as the IPL array, not is</a> -<a name="583"><span class="lineNum"> 583 </span> : : * the order stable between concurrent maintenance operations.</a> -<a name="584"><span class="lineNum"> 584 </span> : : *</a> -<a name="585"><span class="lineNum"> 585 </span> : : * There's also a child pointer to daughter card structures but</a> -<a name="586"><span class="lineNum"> 586 </span> : : * we aren't going to handle that just yet.</a> -<a name="587"><span class="lineNum"> 587 </span> : : */</a> -<a name="588"><span class="lineNum"> 588 </span> : : #define CECHUB_FRU_HDIF_SIG "IO HUB"</a> -<a name="589"><span class="lineNum"> 589 </span> : : #define IOKID_FRU_HDIF_SIG "IO KID"</a> -<a name="590"><span class="lineNum"> 590 </span> : : #define IOSLOT_FRU_HDIF_SIG "IOSLOT"</a> -<a name="591"><span class="lineNum"> 591 </span> : : </a> -<a name="592"><span class="lineNum"> 592 </span> : : /* Idata index 0: FRU ID data</a> -<a name="593"><span class="lineNum"> 593 </span> : : *</a> -<a name="594"><span class="lineNum"> 594 </span> : : * This is a generic struct spira_fru_id defined above</a> -<a name="595"><span class="lineNum"> 595 </span> : : */</a> -<a name="596"><span class="lineNum"> 596 </span> : : #define CECHUB_FRU_ID_DATA 0</a> -<a name="597"><span class="lineNum"> 597 </span> : : </a> -<a name="598"><span class="lineNum"> 598 </span> : : /* Idata index 1: ASCII Keyword VPD */</a> -<a name="599"><span class="lineNum"> 599 </span> : : #define CECHUB_ASCII_KEYWORD_VPD 1</a> -<a name="600"><span class="lineNum"> 600 </span> : : </a> -<a name="601"><span class="lineNum"> 601 </span> : : /* Idata index 2: Hub FRU ID data area */</a> -<a name="602"><span class="lineNum"> 602 </span> : : #define CECHUB_FRU_ID_DATA_AREA 2</a> -<a name="603"><span class="lineNum"> 603 </span> : : </a> -<a name="604"><span class="lineNum"> 604 </span> : : struct cechub_hub_fru_id {</a> -<a name="605"><span class="lineNum"> 605 </span> : : __be32 card_type;</a> -<a name="606"><span class="lineNum"> 606 </span> : : #define CECHUB_FRU_TYPE_IOHUB_RSRV 0</a> -<a name="607"><span class="lineNum"> 607 </span> : : #define CECHUB_FRU_TYPE_IOHUB_CARD 1</a> -<a name="608"><span class="lineNum"> 608 </span> : : #define CECHUB_FRU_TYPE_CPU_CARD 2</a> -<a name="609"><span class="lineNum"> 609 </span> : : #define CECHUB_FRU_TYPE_CEC_BKPLANE 3</a> -<a name="610"><span class="lineNum"> 610 </span> : : #define CECHUB_FRU_TYPE_BKPLANE_EXT 4</a> -<a name="611"><span class="lineNum"> 611 </span> : : __be32 unused;</a> -<a name="612"><span class="lineNum"> 612 </span> : : __be16 total_chips;</a> -<a name="613"><span class="lineNum"> 613 </span> : : uint8_t flags;</a> -<a name="614"><span class="lineNum"> 614 </span> : : #define CECHUB_FRU_FLAG_HEADLESS 0x80 /* not connected to CPU */</a> -<a name="615"><span class="lineNum"> 615 </span> : : #define CECHUB_FRU_FLAG_PASSTHROUGH 0x40 /* connected to passhtrough</a> -<a name="616"><span class="lineNum"> 616 </span> : : port of another hub */</a> -<a name="617"><span class="lineNum"> 617 </span> : : uint8_t reserved;</a> -<a name="618"><span class="lineNum"> 618 </span> : : __be16 parent_hub_id; /* chip instance number of the</a> -<a name="619"><span class="lineNum"> 619 </span> : : hub that contains the passthrough</a> -<a name="620"><span class="lineNum"> 620 </span> : : port this one is connected to */</a> -<a name="621"><span class="lineNum"> 621 </span> : : __be16 reserved2;</a> -<a name="622"><span class="lineNum"> 622 </span> : : } __packed;</a> -<a name="623"><span class="lineNum"> 623 </span> : : </a> -<a name="624"><span class="lineNum"> 624 </span> : : </a> -<a name="625"><span class="lineNum"> 625 </span> : : /* Idata index 3: IO HUB array */</a> -<a name="626"><span class="lineNum"> 626 </span> : : </a> -<a name="627"><span class="lineNum"> 627 </span> : : #define CECHUB_FRU_IO_HUBS 3</a> -<a name="628"><span class="lineNum"> 628 </span> : : </a> -<a name="629"><span class="lineNum"> 629 </span> : : /* This is an HDIF array of IO Hub structures */</a> -<a name="630"><span class="lineNum"> 630 </span> : : struct cechub_io_hub {</a> -<a name="631"><span class="lineNum"> 631 </span> : : __be64 fmtc_address;</a> -<a name="632"><span class="lineNum"> 632 </span> : : __be32 fmtc_tce_size;</a> -<a name="633"><span class="lineNum"> 633 </span> : : __be16 hub_num; /* unique hub number (I/O Hub ID) */</a> -<a name="634"><span class="lineNum"> 634 </span> : : uint8_t flags;</a> -<a name="635"><span class="lineNum"> 635 </span> : : #define CECHUB_HUB_FLAG_STATE_MASK 0xc0</a> -<a name="636"><span class="lineNum"> 636 </span> : : #define CECHUB_HUB_FLAG_STATE_OK 0x00</a> -<a name="637"><span class="lineNum"> 637 </span> : : #define CECHUB_HUB_FLAG_STATE_FAILURES 0x40</a> -<a name="638"><span class="lineNum"> 638 </span> : : #define CECHUB_HUB_FLAG_STATE_NOT_INST 0x80</a> -<a name="639"><span class="lineNum"> 639 </span> : : #define CECHUB_HUB_FLAG_STATE_UNUSABLE 0xc0</a> -<a name="640"><span class="lineNum"> 640 </span> : : #define CECHUB_HUB_FLAG_MASTER_HUB 0x20 /* HDAT < v9.x only */</a> -<a name="641"><span class="lineNum"> 641 </span> : : #define CECHUB_HUB_FLAG_GARD_MASK_VALID 0x08 /* HDAT < v9.x only */</a> -<a name="642"><span class="lineNum"> 642 </span> : : #define CECHUB_HUB_FLAG_SWITCH_MASK_PDT 0x04 /* HDAT < v9.x only */</a> -<a name="643"><span class="lineNum"> 643 </span> : : #define CECHUB_HUB_FLAG_FAB_BR0_PDT 0x02 /* HDAT < v9.x only */</a> -<a name="644"><span class="lineNum"> 644 </span> : : #define CECHUB_HUB_FLAG_FAB_BR1_PDT 0x01 /* HDAT < v9.x only */</a> -<a name="645"><span class="lineNum"> 645 </span> : : uint8_t nr_ports; /* HDAT < v9.x only */</a> -<a name="646"><span class="lineNum"> 646 </span> : : uint8_t fab_br0_pdt; /* p5ioc2 PCI-X or P8 PHB3's */</a> -<a name="647"><span class="lineNum"> 647 </span> : : #define CECHUB_HUB_FAB_BR0_PDT_PHB0 0x80</a> -<a name="648"><span class="lineNum"> 648 </span> : : #define CECHUB_HUB_FAB_BR0_PDT_PHB1 0x40</a> -<a name="649"><span class="lineNum"> 649 </span> : : #define CECHUB_HUB_FAB_BR0_PDT_PHB2 0x20</a> -<a name="650"><span class="lineNum"> 650 </span> : : #define CECHUB_HUB_FAB_BR0_PDT_PHB3 0x10</a> -<a name="651"><span class="lineNum"> 651 </span> : : #define CECHUB_HUB_FAB_BR0_PDT_PHB4 0x08</a> -<a name="652"><span class="lineNum"> 652 </span> : : #define CECHUB_HUB_FAB_BR0_PDT_PHB5 0x04</a> -<a name="653"><span class="lineNum"> 653 </span> : : uint8_t fab_br1_pdt; /* p5ioc2 & p7ioc PCI-E */</a> -<a name="654"><span class="lineNum"> 654 </span> : : #define CECHUB_HUB_FAB_BR1_PDT_PHB0 0x80</a> -<a name="655"><span class="lineNum"> 655 </span> : : #define CECHUB_HUB_FAB_BR1_PDT_PHB1 0x40</a> -<a name="656"><span class="lineNum"> 656 </span> : : #define CECHUB_HUB_FAB_BR1_PDT_PHB2 0x20</a> -<a name="657"><span class="lineNum"> 657 </span> : : #define CECHUB_HUB_FAB_BR1_PDT_PHB3 0x10</a> -<a name="658"><span class="lineNum"> 658 </span> : : #define CECHUB_HUB_FAB_BR1_PDT_PHB4 0x08 /* p7ioc only */</a> -<a name="659"><span class="lineNum"> 659 </span> : : #define CECHUB_HUB_FAB_BR1_PDT_PHB5 0x04 /* p7ioc only */</a> -<a name="660"><span class="lineNum"> 660 </span> : : __be16 iohub_id; /* the type of hub */</a> -<a name="661"><span class="lineNum"> 661 </span> : : #define CECHUB_HUB_MURANO 0x20ef /* Murano from spec */</a> -<a name="662"><span class="lineNum"> 662 </span> : : #define CECHUB_HUB_MURANO_SEGU 0x0001 /* Murano+Seguso from spec */</a> -<a name="663"><span class="lineNum"> 663 </span> : : #define CECHUB_HUB_VENICE_WYATT 0x0010 /* Venice+Wyatt from spec */</a> -<a name="664"><span class="lineNum"> 664 </span> : : #define CECHUB_HUB_NIMBUS_SFORAZ 0x0020 /* Nimbus+sforaz from spec */</a> -<a name="665"><span class="lineNum"> 665 </span> : : #define CECHUB_HUB_NIMBUS_MONZA 0x0021 /* Nimbus+monza from spec */</a> -<a name="666"><span class="lineNum"> 666 </span> : : #define CECHUB_HUB_NIMBUS_LAGRANGE 0x0022 /* Nimbus+lagrange from spec */</a> -<a name="667"><span class="lineNum"> 667 </span> : : #define CECHUB_HUB_CUMULUS_DUOMO 0x0030 /* cumulus+duomo from spec */</a> -<a name="668"><span class="lineNum"> 668 </span> : : #define CECHUB_HUB_AXONE_HOPPER 0x0040 /* axone+hopper */</a> -<a name="669"><span class="lineNum"> 669 </span> : : #define CECHUB_HUB_RAINIER 0x0050</a> -<a name="670"><span class="lineNum"> 670 </span> : : #define CECHUB_HUB_DENALI 0x0051</a> -<a name="671"><span class="lineNum"> 671 </span> : : __be32 ec_level;</a> -<a name="672"><span class="lineNum"> 672 </span> : : __be32 aff_dom2; /* HDAT < v9.x only */</a> -<a name="673"><span class="lineNum"> 673 </span> : : __be32 aff_dom3; /* HDAT < v9.x only */</a> -<a name="674"><span class="lineNum"> 674 </span> : : __be64 reserved;</a> -<a name="675"><span class="lineNum"> 675 </span> : : __be32 proc_chip_id;</a> +<a name="543"><span class="lineNum"> 543 </span> : : /* Idata index 1: ASCII Keyword VPD */</a> +<a name="544"><span class="lineNum"> 544 </span> : : #define CECHUB_ASCII_KEYWORD_VPD 1</a> +<a name="545"><span class="lineNum"> 545 </span> : : </a> +<a name="546"><span class="lineNum"> 546 </span> : : /* Idata index 2: Hub FRU ID data area */</a> +<a name="547"><span class="lineNum"> 547 </span> : : #define CECHUB_FRU_ID_DATA_AREA 2</a> +<a name="548"><span class="lineNum"> 548 </span> : : </a> +<a name="549"><span class="lineNum"> 549 </span> : : struct cechub_hub_fru_id {</a> +<a name="550"><span class="lineNum"> 550 </span> : : __be32 card_type;</a> +<a name="551"><span class="lineNum"> 551 </span> : : #define CECHUB_FRU_TYPE_IOHUB_RSRV 0</a> +<a name="552"><span class="lineNum"> 552 </span> : : #define CECHUB_FRU_TYPE_IOHUB_CARD 1</a> +<a name="553"><span class="lineNum"> 553 </span> : : #define CECHUB_FRU_TYPE_CPU_CARD 2</a> +<a name="554"><span class="lineNum"> 554 </span> : : #define CECHUB_FRU_TYPE_CEC_BKPLANE 3</a> +<a name="555"><span class="lineNum"> 555 </span> : : #define CECHUB_FRU_TYPE_BKPLANE_EXT 4</a> +<a name="556"><span class="lineNum"> 556 </span> : : __be32 unused;</a> +<a name="557"><span class="lineNum"> 557 </span> : : __be16 total_chips;</a> +<a name="558"><span class="lineNum"> 558 </span> : : uint8_t flags;</a> +<a name="559"><span class="lineNum"> 559 </span> : : #define CECHUB_FRU_FLAG_HEADLESS 0x80 /* not connected to CPU */</a> +<a name="560"><span class="lineNum"> 560 </span> : : #define CECHUB_FRU_FLAG_PASSTHROUGH 0x40 /* connected to passhtrough</a> +<a name="561"><span class="lineNum"> 561 </span> : : port of another hub */</a> +<a name="562"><span class="lineNum"> 562 </span> : : uint8_t reserved;</a> +<a name="563"><span class="lineNum"> 563 </span> : : __be16 parent_hub_id; /* chip instance number of the</a> +<a name="564"><span class="lineNum"> 564 </span> : : hub that contains the passthrough</a> +<a name="565"><span class="lineNum"> 565 </span> : : port this one is connected to */</a> +<a name="566"><span class="lineNum"> 566 </span> : : __be16 reserved2;</a> +<a name="567"><span class="lineNum"> 567 </span> : : } __packed;</a> +<a name="568"><span class="lineNum"> 568 </span> : : </a> +<a name="569"><span class="lineNum"> 569 </span> : : </a> +<a name="570"><span class="lineNum"> 570 </span> : : /* Idata index 3: IO HUB array */</a> +<a name="571"><span class="lineNum"> 571 </span> : : </a> +<a name="572"><span class="lineNum"> 572 </span> : : #define CECHUB_FRU_IO_HUBS 3</a> +<a name="573"><span class="lineNum"> 573 </span> : : </a> +<a name="574"><span class="lineNum"> 574 </span> : : /* This is an HDIF array of IO Hub structures */</a> +<a name="575"><span class="lineNum"> 575 </span> : : struct cechub_io_hub {</a> +<a name="576"><span class="lineNum"> 576 </span> : : __be64 fmtc_address;</a> +<a name="577"><span class="lineNum"> 577 </span> : : __be32 fmtc_tce_size;</a> +<a name="578"><span class="lineNum"> 578 </span> : : __be16 hub_num; /* unique hub number (I/O Hub ID) */</a> +<a name="579"><span class="lineNum"> 579 </span> : : uint8_t flags;</a> +<a name="580"><span class="lineNum"> 580 </span> : : #define CECHUB_HUB_FLAG_STATE_MASK 0xc0</a> +<a name="581"><span class="lineNum"> 581 </span> : : #define CECHUB_HUB_FLAG_STATE_OK 0x00</a> +<a name="582"><span class="lineNum"> 582 </span> : : #define CECHUB_HUB_FLAG_STATE_FAILURES 0x40</a> +<a name="583"><span class="lineNum"> 583 </span> : : #define CECHUB_HUB_FLAG_STATE_NOT_INST 0x80</a> +<a name="584"><span class="lineNum"> 584 </span> : : #define CECHUB_HUB_FLAG_STATE_UNUSABLE 0xc0</a> +<a name="585"><span class="lineNum"> 585 </span> : : #define CECHUB_HUB_FLAG_MASTER_HUB 0x20 /* HDAT < v9.x only */</a> +<a name="586"><span class="lineNum"> 586 </span> : : #define CECHUB_HUB_FLAG_GARD_MASK_VALID 0x08 /* HDAT < v9.x only */</a> +<a name="587"><span class="lineNum"> 587 </span> : : #define CECHUB_HUB_FLAG_SWITCH_MASK_PDT 0x04 /* HDAT < v9.x only */</a> +<a name="588"><span class="lineNum"> 588 </span> : : #define CECHUB_HUB_FLAG_FAB_BR0_PDT 0x02 /* HDAT < v9.x only */</a> +<a name="589"><span class="lineNum"> 589 </span> : : #define CECHUB_HUB_FLAG_FAB_BR1_PDT 0x01 /* HDAT < v9.x only */</a> +<a name="590"><span class="lineNum"> 590 </span> : : uint8_t nr_ports; /* HDAT < v9.x only */</a> +<a name="591"><span class="lineNum"> 591 </span> : : uint8_t fab_br0_pdt; /* p5ioc2 PCI-X or P8 PHB3's */</a> +<a name="592"><span class="lineNum"> 592 </span> : : #define CECHUB_HUB_FAB_BR0_PDT_PHB0 0x80</a> +<a name="593"><span class="lineNum"> 593 </span> : : #define CECHUB_HUB_FAB_BR0_PDT_PHB1 0x40</a> +<a name="594"><span class="lineNum"> 594 </span> : : #define CECHUB_HUB_FAB_BR0_PDT_PHB2 0x20</a> +<a name="595"><span class="lineNum"> 595 </span> : : #define CECHUB_HUB_FAB_BR0_PDT_PHB3 0x10</a> +<a name="596"><span class="lineNum"> 596 </span> : : #define CECHUB_HUB_FAB_BR0_PDT_PHB4 0x08</a> +<a name="597"><span class="lineNum"> 597 </span> : : #define CECHUB_HUB_FAB_BR0_PDT_PHB5 0x04</a> +<a name="598"><span class="lineNum"> 598 </span> : : uint8_t fab_br1_pdt; /* p5ioc2 & p7ioc PCI-E */</a> +<a name="599"><span class="lineNum"> 599 </span> : : #define CECHUB_HUB_FAB_BR1_PDT_PHB0 0x80</a> +<a name="600"><span class="lineNum"> 600 </span> : : #define CECHUB_HUB_FAB_BR1_PDT_PHB1 0x40</a> +<a name="601"><span class="lineNum"> 601 </span> : : #define CECHUB_HUB_FAB_BR1_PDT_PHB2 0x20</a> +<a name="602"><span class="lineNum"> 602 </span> : : #define CECHUB_HUB_FAB_BR1_PDT_PHB3 0x10</a> +<a name="603"><span class="lineNum"> 603 </span> : : #define CECHUB_HUB_FAB_BR1_PDT_PHB4 0x08 /* p7ioc only */</a> +<a name="604"><span class="lineNum"> 604 </span> : : #define CECHUB_HUB_FAB_BR1_PDT_PHB5 0x04 /* p7ioc only */</a> +<a name="605"><span class="lineNum"> 605 </span> : : __be16 iohub_id; /* the type of hub */</a> +<a name="606"><span class="lineNum"> 606 </span> : : #define CECHUB_HUB_MURANO 0x20ef /* Murano from spec */</a> +<a name="607"><span class="lineNum"> 607 </span> : : #define CECHUB_HUB_MURANO_SEGU 0x0001 /* Murano+Seguso from spec */</a> +<a name="608"><span class="lineNum"> 608 </span> : : #define CECHUB_HUB_VENICE_WYATT 0x0010 /* Venice+Wyatt from spec */</a> +<a name="609"><span class="lineNum"> 609 </span> : : #define CECHUB_HUB_NIMBUS_SFORAZ 0x0020 /* Nimbus+sforaz from spec */</a> +<a name="610"><span class="lineNum"> 610 </span> : : #define CECHUB_HUB_NIMBUS_MONZA 0x0021 /* Nimbus+monza from spec */</a> +<a name="611"><span class="lineNum"> 611 </span> : : #define CECHUB_HUB_NIMBUS_LAGRANGE 0x0022 /* Nimbus+lagrange from spec */</a> +<a name="612"><span class="lineNum"> 612 </span> : : #define CECHUB_HUB_CUMULUS_DUOMO 0x0030 /* cumulus+duomo from spec */</a> +<a name="613"><span class="lineNum"> 613 </span> : : #define CECHUB_HUB_AXONE_HOPPER 0x0040 /* axone+hopper */</a> +<a name="614"><span class="lineNum"> 614 </span> : : #define CECHUB_HUB_RAINIER 0x0050</a> +<a name="615"><span class="lineNum"> 615 </span> : : #define CECHUB_HUB_DENALI 0x0051</a> +<a name="616"><span class="lineNum"> 616 </span> : : __be32 ec_level;</a> +<a name="617"><span class="lineNum"> 617 </span> : : __be32 aff_dom2; /* HDAT < v9.x only */</a> +<a name="618"><span class="lineNum"> 618 </span> : : __be32 aff_dom3; /* HDAT < v9.x only */</a> +<a name="619"><span class="lineNum"> 619 </span> : : __be64 reserved;</a> +<a name="620"><span class="lineNum"> 620 </span> : : __be32 proc_chip_id;</a> +<a name="621"><span class="lineNum"> 621 </span> : : </a> +<a name="622"><span class="lineNum"> 622 </span> : : union {</a> +<a name="623"><span class="lineNum"> 623 </span> : : /* HDAT < v9.x */</a> +<a name="624"><span class="lineNum"> 624 </span> : : struct {</a> +<a name="625"><span class="lineNum"> 625 </span> : : __be32 gx_index; /* GX bus index on cpu */</a> +<a name="626"><span class="lineNum"> 626 </span> : : __be32 buid_ext; /* BUID Extension */</a> +<a name="627"><span class="lineNum"> 627 </span> : : __be32 xscom_chip_id; /* TORRENT ONLY */</a> +<a name="628"><span class="lineNum"> 628 </span> : : };</a> +<a name="629"><span class="lineNum"> 629 </span> : : /* HDAT >= v9.x */</a> +<a name="630"><span class="lineNum"> 630 </span> : : struct {</a> +<a name="631"><span class="lineNum"> 631 </span> : : __be32 reserved1;</a> +<a name="632"><span class="lineNum"> 632 </span> : : __be32 reserved2;</a> +<a name="633"><span class="lineNum"> 633 </span> : : __be16 reserved3;</a> +<a name="634"><span class="lineNum"> 634 </span> : : __be16 hw_topology;</a> +<a name="635"><span class="lineNum"> 635 </span> : : };</a> +<a name="636"><span class="lineNum"> 636 </span> : : };</a> +<a name="637"><span class="lineNum"> 637 </span> : : __be32 mrid;</a> +<a name="638"><span class="lineNum"> 638 </span> : : __be32 mem_map_vers;</a> +<a name="639"><span class="lineNum"> 639 </span> : : union {</a> +<a name="640"><span class="lineNum"> 640 </span> : : /* HDAT < v9.x */</a> +<a name="641"><span class="lineNum"> 641 </span> : : struct {</a> +<a name="642"><span class="lineNum"> 642 </span> : : __be64 gx_ctrl_bar0;</a> +<a name="643"><span class="lineNum"> 643 </span> : : __be64 gx_ctrl_bar1;</a> +<a name="644"><span class="lineNum"> 644 </span> : : __be64 gx_ctrl_bar2;</a> +<a name="645"><span class="lineNum"> 645 </span> : : __be64 gx_ctrl_bar3;</a> +<a name="646"><span class="lineNum"> 646 </span> : : __be64 gx_ctrl_bar4;</a> +<a name="647"><span class="lineNum"> 647 </span> : : __be32 sw_mask_pdt;</a> +<a name="648"><span class="lineNum"> 648 </span> : : __be16 gard_mask;</a> +<a name="649"><span class="lineNum"> 649 </span> : : __be16 gx_bus_speed; /* Version 0x58 */</a> +<a name="650"><span class="lineNum"> 650 </span> : : };</a> +<a name="651"><span class="lineNum"> 651 </span> : : </a> +<a name="652"><span class="lineNum"> 652 </span> : : /* HDAT >= v9.x, HDIF version 0x6A adds phb_lane_eq with four</a> +<a name="653"><span class="lineNum"> 653 </span> : : * words per PHB (4 PHBs).</a> +<a name="654"><span class="lineNum"> 654 </span> : : *</a> +<a name="655"><span class="lineNum"> 655 </span> : : * HDAT >= 10.x, HDIF version 0x7A adds space for another</a> +<a name="656"><span class="lineNum"> 656 </span> : : * two PHBs (6 total) and the gen4 EQ values.</a> +<a name="657"><span class="lineNum"> 657 </span> : : *</a> +<a name="658"><span class="lineNum"> 658 </span> : : * HDAT >= 10.5x, HDIF version 0x8B adds space for the</a> +<a name="659"><span class="lineNum"> 659 </span> : : * gen5 EQ values.</a> +<a name="660"><span class="lineNum"> 660 </span> : : */</a> +<a name="661"><span class="lineNum"> 661 </span> : : struct {</a> +<a name="662"><span class="lineNum"> 662 </span> : : /* Gen 3 PHB eq values, 6 PHBs */</a> +<a name="663"><span class="lineNum"> 663 </span> : : __be64 phb_lane_eq[6][4];</a> +<a name="664"><span class="lineNum"> 664 </span> : : </a> +<a name="665"><span class="lineNum"> 665 </span> : : /* Gen 4 PHB eq values */</a> +<a name="666"><span class="lineNum"> 666 </span> : : __be64 phb4_lane_eq[6][4];</a> +<a name="667"><span class="lineNum"> 667 </span> : : </a> +<a name="668"><span class="lineNum"> 668 </span> : : /* Gen 5 PHB eq values */</a> +<a name="669"><span class="lineNum"> 669 </span> : : __be64 phb5_lane_eq[6][4];</a> +<a name="670"><span class="lineNum"> 670 </span> : : };</a> +<a name="671"><span class="lineNum"> 671 </span> : : };</a> +<a name="672"><span class="lineNum"> 672 </span> : : } __packed;</a> +<a name="673"><span class="lineNum"> 673 </span> : : </a> +<a name="674"><span class="lineNum"> 674 </span> : : /* We support structures as small as 0x68 bytes */</a> +<a name="675"><span class="lineNum"> 675 </span> : : #define CECHUB_IOHUB_MIN_SIZE 0x68</a> <a name="676"><span class="lineNum"> 676 </span> : : </a> -<a name="677"><span class="lineNum"> 677 </span> : : union {</a> -<a name="678"><span class="lineNum"> 678 </span> : : /* HDAT < v9.x */</a> -<a name="679"><span class="lineNum"> 679 </span> : : struct {</a> -<a name="680"><span class="lineNum"> 680 </span> : : __be32 gx_index; /* GX bus index on cpu */</a> -<a name="681"><span class="lineNum"> 681 </span> : : __be32 buid_ext; /* BUID Extension */</a> -<a name="682"><span class="lineNum"> 682 </span> : : __be32 xscom_chip_id; /* TORRENT ONLY */</a> -<a name="683"><span class="lineNum"> 683 </span> : : };</a> -<a name="684"><span class="lineNum"> 684 </span> : : /* HDAT >= v9.x */</a> -<a name="685"><span class="lineNum"> 685 </span> : : struct {</a> -<a name="686"><span class="lineNum"> 686 </span> : : __be32 reserved1;</a> -<a name="687"><span class="lineNum"> 687 </span> : : __be32 reserved2;</a> -<a name="688"><span class="lineNum"> 688 </span> : : __be16 reserved3;</a> -<a name="689"><span class="lineNum"> 689 </span> : : __be16 hw_topology;</a> -<a name="690"><span class="lineNum"> 690 </span> : : };</a> -<a name="691"><span class="lineNum"> 691 </span> : : };</a> -<a name="692"><span class="lineNum"> 692 </span> : : __be32 mrid;</a> -<a name="693"><span class="lineNum"> 693 </span> : : __be32 mem_map_vers;</a> -<a name="694"><span class="lineNum"> 694 </span> : : union {</a> -<a name="695"><span class="lineNum"> 695 </span> : : /* HDAT < v9.x */</a> -<a name="696"><span class="lineNum"> 696 </span> : : struct {</a> -<a name="697"><span class="lineNum"> 697 </span> : : __be64 gx_ctrl_bar0;</a> -<a name="698"><span class="lineNum"> 698 </span> : : __be64 gx_ctrl_bar1;</a> -<a name="699"><span class="lineNum"> 699 </span> : : __be64 gx_ctrl_bar2;</a> -<a name="700"><span class="lineNum"> 700 </span> : : __be64 gx_ctrl_bar3;</a> -<a name="701"><span class="lineNum"> 701 </span> : : __be64 gx_ctrl_bar4;</a> -<a name="702"><span class="lineNum"> 702 </span> : : __be32 sw_mask_pdt;</a> -<a name="703"><span class="lineNum"> 703 </span> : : __be16 gard_mask;</a> -<a name="704"><span class="lineNum"> 704 </span> : : __be16 gx_bus_speed; /* Version 0x58 */</a> -<a name="705"><span class="lineNum"> 705 </span> : : };</a> -<a name="706"><span class="lineNum"> 706 </span> : : </a> -<a name="707"><span class="lineNum"> 707 </span> : : /* HDAT >= v9.x, HDIF version 0x6A adds phb_lane_eq with four</a> -<a name="708"><span class="lineNum"> 708 </span> : : * words per PHB (4 PHBs).</a> -<a name="709"><span class="lineNum"> 709 </span> : : *</a> -<a name="710"><span class="lineNum"> 710 </span> : : * HDAT >= 10.x, HDIF version 0x7A adds space for another</a> -<a name="711"><span class="lineNum"> 711 </span> : : * two PHBs (6 total) and the gen4 EQ values.</a> -<a name="712"><span class="lineNum"> 712 </span> : : *</a> -<a name="713"><span class="lineNum"> 713 </span> : : * HDAT >= 10.5x, HDIF version 0x8B adds space for the</a> -<a name="714"><span class="lineNum"> 714 </span> : : * gen5 EQ values.</a> -<a name="715"><span class="lineNum"> 715 </span> : : */</a> -<a name="716"><span class="lineNum"> 716 </span> : : struct {</a> -<a name="717"><span class="lineNum"> 717 </span> : : /* Gen 3 PHB eq values, 6 PHBs */</a> -<a name="718"><span class="lineNum"> 718 </span> : : __be64 phb_lane_eq[6][4];</a> -<a name="719"><span class="lineNum"> 719 </span> : : </a> -<a name="720"><span class="lineNum"> 720 </span> : : /* Gen 4 PHB eq values */</a> -<a name="721"><span class="lineNum"> 721 </span> : : __be64 phb4_lane_eq[6][4];</a> -<a name="722"><span class="lineNum"> 722 </span> : : </a> -<a name="723"><span class="lineNum"> 723 </span> : : /* Gen 5 PHB eq values */</a> -<a name="724"><span class="lineNum"> 724 </span> : : __be64 phb5_lane_eq[6][4];</a> -<a name="725"><span class="lineNum"> 725 </span> : : };</a> -<a name="726"><span class="lineNum"> 726 </span> : : };</a> -<a name="727"><span class="lineNum"> 727 </span> : : } __packed;</a> -<a name="728"><span class="lineNum"> 728 </span> : : </a> -<a name="729"><span class="lineNum"> 729 </span> : : /* We support structures as small as 0x68 bytes */</a> -<a name="730"><span class="lineNum"> 730 </span> : : #define CECHUB_IOHUB_MIN_SIZE 0x68</a> +<a name="677"><span class="lineNum"> 677 </span> : : /* Child index 0: IO Daugther Card */</a> +<a name="678"><span class="lineNum"> 678 </span> : : #define CECHUB_CHILD_IO_KIDS 0</a> +<a name="679"><span class="lineNum"> 679 </span> : : </a> +<a name="680"><span class="lineNum"> 680 </span> : : /* Child index 1: PCIe Slot Mapping Information */</a> +<a name="681"><span class="lineNum"> 681 </span> : : #define CECHUB_CHILD_IOSLOTS 1</a> +<a name="682"><span class="lineNum"> 682 </span> : : </a> +<a name="683"><span class="lineNum"> 683 </span> : : #define IOSLOT_IDATA_SLOTMAP 0</a> +<a name="684"><span class="lineNum"> 684 </span> : : </a> +<a name="685"><span class="lineNum"> 685 </span> : : struct slot_map_entry {</a> +<a name="686"><span class="lineNum"> 686 </span> : : __be16 entry_id;</a> +<a name="687"><span class="lineNum"> 687 </span> : : __be16 parent_id;</a> +<a name="688"><span class="lineNum"> 688 </span> : : uint8_t phb_index; /* only valid for ROOT and SWITCH_UP */</a> +<a name="689"><span class="lineNum"> 689 </span> : : </a> +<a name="690"><span class="lineNum"> 690 </span> : : uint8_t type;</a> +<a name="691"><span class="lineNum"> 691 </span> : : #define SLOT_TYPE_ROOT_COMPLEX 0x0</a> +<a name="692"><span class="lineNum"> 692 </span> : : #define SLOT_TYPE_SWITCH_UP 0x1</a> +<a name="693"><span class="lineNum"> 693 </span> : : #define SLOT_TYPE_SWITCH_DOWN 0x2</a> +<a name="694"><span class="lineNum"> 694 </span> : : #define SLOT_TYPE_BUILTIN 0x3</a> +<a name="695"><span class="lineNum"> 695 </span> : : </a> +<a name="696"><span class="lineNum"> 696 </span> : : uint8_t lane_swapped;</a> +<a name="697"><span class="lineNum"> 697 </span> : : uint8_t reserved;</a> +<a name="698"><span class="lineNum"> 698 </span> : : __be16 lane_mask;</a> +<a name="699"><span class="lineNum"> 699 </span> : : __be16 lane_reverse;</a> +<a name="700"><span class="lineNum"> 700 </span> : : </a> +<a name="701"><span class="lineNum"> 701 </span> : : /* what can I do with this? reference something under/vpd/ ? */</a> +<a name="702"><span class="lineNum"> 702 </span> : : __be16 slca_idx;</a> +<a name="703"><span class="lineNum"> 703 </span> : : </a> +<a name="704"><span class="lineNum"> 704 </span> : : __be16 mrw_slot_id;</a> +<a name="705"><span class="lineNum"> 705 </span> : : </a> +<a name="706"><span class="lineNum"> 706 </span> : : __be32 features;</a> +<a name="707"><span class="lineNum"> 707 </span> : : #define SLOT_FEAT_SLOT 0x1</a> +<a name="708"><span class="lineNum"> 708 </span> : : </a> +<a name="709"><span class="lineNum"> 709 </span> : : uint8_t up_port;</a> +<a name="710"><span class="lineNum"> 710 </span> : : uint8_t down_port; /* the switch port this device is attached to */</a> +<a name="711"><span class="lineNum"> 711 </span> : : </a> +<a name="712"><span class="lineNum"> 712 </span> : : __be32 vendor_id;</a> +<a name="713"><span class="lineNum"> 713 </span> : : __be32 device_id;</a> +<a name="714"><span class="lineNum"> 714 </span> : : __be32 sub_vendor_id;</a> +<a name="715"><span class="lineNum"> 715 </span> : : __be32 sub_device_id;</a> +<a name="716"><span class="lineNum"> 716 </span> : : char name[8];</a> +<a name="717"><span class="lineNum"> 717 </span> : : } __packed;</a> +<a name="718"><span class="lineNum"> 718 </span> : : </a> +<a name="719"><span class="lineNum"> 719 </span> : : #define IOSLOT_IDATA_DETAILS 1</a> +<a name="720"><span class="lineNum"> 720 </span> : : </a> +<a name="721"><span class="lineNum"> 721 </span> : : struct slot_map_details {</a> +<a name="722"><span class="lineNum"> 722 </span> : : __be16 entry;</a> +<a name="723"><span class="lineNum"> 723 </span> : : </a> +<a name="724"><span class="lineNum"> 724 </span> : : /* Phyp junk, ignore */</a> +<a name="725"><span class="lineNum"> 725 </span> : : uint8_t mgc_load_source;</a> +<a name="726"><span class="lineNum"> 726 </span> : : uint8_t hddw_order;</a> +<a name="727"><span class="lineNum"> 727 </span> : : __be16 mmio_size_32; /* In MB */</a> +<a name="728"><span class="lineNum"> 728 </span> : : __be16 mmio_size_64;</a> +<a name="729"><span class="lineNum"> 729 </span> : : __be16 dma_size_32;</a> +<a name="730"><span class="lineNum"> 730 </span> : : __be16 dma_size_64;</a> <a name="731"><span class="lineNum"> 731 </span> : : </a> -<a name="732"><span class="lineNum"> 732 </span> : : /* Child index 0: IO Daugther Card */</a> -<a name="733"><span class="lineNum"> 733 </span> : : #define CECHUB_CHILD_IO_KIDS 0</a> -<a name="734"><span class="lineNum"> 734 </span> : : </a> -<a name="735"><span class="lineNum"> 735 </span> : : /* Child index 1: PCIe Slot Mapping Information */</a> -<a name="736"><span class="lineNum"> 736 </span> : : #define CECHUB_CHILD_IOSLOTS 1</a> -<a name="737"><span class="lineNum"> 737 </span> : : </a> -<a name="738"><span class="lineNum"> 738 </span> : : #define IOSLOT_IDATA_SLOTMAP 0</a> -<a name="739"><span class="lineNum"> 739 </span> : : </a> -<a name="740"><span class="lineNum"> 740 </span> : : struct slot_map_entry {</a> -<a name="741"><span class="lineNum"> 741 </span> : : __be16 entry_id;</a> -<a name="742"><span class="lineNum"> 742 </span> : : __be16 parent_id;</a> -<a name="743"><span class="lineNum"> 743 </span> : : uint8_t phb_index; /* only valid for ROOT and SWITCH_UP */</a> -<a name="744"><span class="lineNum"> 744 </span> : : </a> -<a name="745"><span class="lineNum"> 745 </span> : : uint8_t type;</a> -<a name="746"><span class="lineNum"> 746 </span> : : #define SLOT_TYPE_ROOT_COMPLEX 0x0</a> -<a name="747"><span class="lineNum"> 747 </span> : : #define SLOT_TYPE_SWITCH_UP 0x1</a> -<a name="748"><span class="lineNum"> 748 </span> : : #define SLOT_TYPE_SWITCH_DOWN 0x2</a> -<a name="749"><span class="lineNum"> 749 </span> : : #define SLOT_TYPE_BUILTIN 0x3</a> -<a name="750"><span class="lineNum"> 750 </span> : : </a> -<a name="751"><span class="lineNum"> 751 </span> : : uint8_t lane_swapped;</a> -<a name="752"><span class="lineNum"> 752 </span> : : uint8_t reserved;</a> -<a name="753"><span class="lineNum"> 753 </span> : : __be16 lane_mask;</a> -<a name="754"><span class="lineNum"> 754 </span> : : __be16 lane_reverse;</a> -<a name="755"><span class="lineNum"> 755 </span> : : </a> -<a name="756"><span class="lineNum"> 756 </span> : : /* what can I do with this? reference something under/vpd/ ? */</a> -<a name="757"><span class="lineNum"> 757 </span> : : __be16 slca_idx;</a> -<a name="758"><span class="lineNum"> 758 </span> : : </a> -<a name="759"><span class="lineNum"> 759 </span> : : __be16 mrw_slot_id;</a> -<a name="760"><span class="lineNum"> 760 </span> : : </a> -<a name="761"><span class="lineNum"> 761 </span> : : __be32 features;</a> -<a name="762"><span class="lineNum"> 762 </span> : : #define SLOT_FEAT_SLOT 0x1</a> -<a name="763"><span class="lineNum"> 763 </span> : : </a> -<a name="764"><span class="lineNum"> 764 </span> : : uint8_t up_port;</a> -<a name="765"><span class="lineNum"> 765 </span> : : uint8_t down_port; /* the switch port this device is attached to */</a> +<a name="732"><span class="lineNum"> 732 </span> : : uint8_t power_ctrl_type; /* slot power control source */</a> +<a name="733"><span class="lineNum"> 733 </span> : : #define SLOT_PWR_NONE 0x0</a> +<a name="734"><span class="lineNum"> 734 </span> : : #define SLOT_PWR_I2C 0x1</a> +<a name="735"><span class="lineNum"> 735 </span> : : </a> +<a name="736"><span class="lineNum"> 736 </span> : : uint8_t presence_det_type; /* slot presence detect source */</a> +<a name="737"><span class="lineNum"> 737 </span> : : #define SLOT_PRESENCE_NONE 0x0</a> +<a name="738"><span class="lineNum"> 738 </span> : : #define SLOT_PRESENCE_PCI 0x1</a> +<a name="739"><span class="lineNum"> 739 </span> : : #define SLOT_PRESENCE_I2C 0x2</a> +<a name="740"><span class="lineNum"> 740 </span> : : </a> +<a name="741"><span class="lineNum"> 741 </span> : : uint8_t perst_ctl_type; /* slot PERST source */</a> +<a name="742"><span class="lineNum"> 742 </span> : : #define SLOT_PERST_NONE 0x0</a> +<a name="743"><span class="lineNum"> 743 </span> : : #define SLOT_PERST_PHB_OR_SW 0x1</a> +<a name="744"><span class="lineNum"> 744 </span> : : #define SLOT_PERST_SW_GPIO 0x2</a> +<a name="745"><span class="lineNum"> 745 </span> : : uint8_t perst_gpio;</a> +<a name="746"><span class="lineNum"> 746 </span> : : </a> +<a name="747"><span class="lineNum"> 747 </span> : : __be16 max_power; /* in W? */</a> +<a name="748"><span class="lineNum"> 748 </span> : : </a> +<a name="749"><span class="lineNum"> 749 </span> : : __be32 slot_caps;</a> +<a name="750"><span class="lineNum"> 750 </span> : : #define SLOT_CAP_LSI 0x01 /* phyp junk? */</a> +<a name="751"><span class="lineNum"> 751 </span> : : #define SLOT_CAP_CAPI 0x02</a> +<a name="752"><span class="lineNum"> 752 </span> : : #define SLOT_CAP_CCARD 0x04</a> +<a name="753"><span class="lineNum"> 753 </span> : : #define SLOT_CAP_HOTPLUG 0x08</a> +<a name="754"><span class="lineNum"> 754 </span> : : #define SLOT_CAP_SRIOV 0x10 /* phyp junk */</a> +<a name="755"><span class="lineNum"> 755 </span> : : #define SLOT_CAP_ELLOCO 0x20 /* why is this seperate from the nvlink cap? */</a> +<a name="756"><span class="lineNum"> 756 </span> : : #define SLOT_CAP_NVLINK 0x30</a> +<a name="757"><span class="lineNum"> 757 </span> : : </a> +<a name="758"><span class="lineNum"> 758 </span> : : __be16 reserved1;</a> +<a name="759"><span class="lineNum"> 759 </span> : : </a> +<a name="760"><span class="lineNum"> 760 </span> : : /* I2C Link IDs */</a> +<a name="761"><span class="lineNum"> 761 </span> : : __be32 i2c_power_ctl;</a> +<a name="762"><span class="lineNum"> 762 </span> : : __be32 i2c_pgood;</a> +<a name="763"><span class="lineNum"> 763 </span> : : __be32 i2c_cable_card; /* opencapi presence detect? */</a> +<a name="764"><span class="lineNum"> 764 </span> : : __be32 i2c_mex_fpga;</a> +<a name="765"><span class="lineNum"> 765 </span> : : };</a> <a name="766"><span class="lineNum"> 766 </span> : : </a> -<a name="767"><span class="lineNum"> 767 </span> : : __be32 vendor_id;</a> -<a name="768"><span class="lineNum"> 768 </span> : : __be32 device_id;</a> -<a name="769"><span class="lineNum"> 769 </span> : : __be32 sub_vendor_id;</a> -<a name="770"><span class="lineNum"> 770 </span> : : __be32 sub_device_id;</a> -<a name="771"><span class="lineNum"> 771 </span> : : char name[8];</a> -<a name="772"><span class="lineNum"> 772 </span> : : } __packed;</a> -<a name="773"><span class="lineNum"> 773 </span> : : </a> -<a name="774"><span class="lineNum"> 774 </span> : : #define IOSLOT_IDATA_DETAILS 1</a> -<a name="775"><span class="lineNum"> 775 </span> : : </a> -<a name="776"><span class="lineNum"> 776 </span> : : struct slot_map_details {</a> -<a name="777"><span class="lineNum"> 777 </span> : : __be16 entry;</a> -<a name="778"><span class="lineNum"> 778 </span> : : </a> -<a name="779"><span class="lineNum"> 779 </span> : : /* Phyp junk, ignore */</a> -<a name="780"><span class="lineNum"> 780 </span> : : uint8_t mgc_load_source;</a> -<a name="781"><span class="lineNum"> 781 </span> : : uint8_t hddw_order;</a> -<a name="782"><span class="lineNum"> 782 </span> : : __be16 mmio_size_32; /* In MB */</a> -<a name="783"><span class="lineNum"> 783 </span> : : __be16 mmio_size_64;</a> -<a name="784"><span class="lineNum"> 784 </span> : : __be16 dma_size_32;</a> -<a name="785"><span class="lineNum"> 785 </span> : : __be16 dma_size_64;</a> -<a name="786"><span class="lineNum"> 786 </span> : : </a> -<a name="787"><span class="lineNum"> 787 </span> : : uint8_t power_ctrl_type; /* slot power control source */</a> -<a name="788"><span class="lineNum"> 788 </span> : : #define SLOT_PWR_NONE 0x0</a> -<a name="789"><span class="lineNum"> 789 </span> : : #define SLOT_PWR_I2C 0x1</a> -<a name="790"><span class="lineNum"> 790 </span> : : </a> -<a name="791"><span class="lineNum"> 791 </span> : : uint8_t presence_det_type; /* slot presence detect source */</a> -<a name="792"><span class="lineNum"> 792 </span> : : #define SLOT_PRESENCE_NONE 0x0</a> -<a name="793"><span class="lineNum"> 793 </span> : : #define SLOT_PRESENCE_PCI 0x1</a> -<a name="794"><span class="lineNum"> 794 </span> : : #define SLOT_PRESENCE_I2C 0x2</a> -<a name="795"><span class="lineNum"> 795 </span> : : </a> -<a name="796"><span class="lineNum"> 796 </span> : : uint8_t perst_ctl_type; /* slot PERST source */</a> -<a name="797"><span class="lineNum"> 797 </span> : : #define SLOT_PERST_NONE 0x0</a> -<a name="798"><span class="lineNum"> 798 </span> : : #define SLOT_PERST_PHB_OR_SW 0x1</a> -<a name="799"><span class="lineNum"> 799 </span> : : #define SLOT_PERST_SW_GPIO 0x2</a> -<a name="800"><span class="lineNum"> 800 </span> : : uint8_t perst_gpio;</a> -<a name="801"><span class="lineNum"> 801 </span> : : </a> -<a name="802"><span class="lineNum"> 802 </span> : : __be16 max_power; /* in W? */</a> -<a name="803"><span class="lineNum"> 803 </span> : : </a> -<a name="804"><span class="lineNum"> 804 </span> : : __be32 slot_caps;</a> -<a name="805"><span class="lineNum"> 805 </span> : : #define SLOT_CAP_LSI 0x01 /* phyp junk? */</a> -<a name="806"><span class="lineNum"> 806 </span> : : #define SLOT_CAP_CAPI 0x02</a> -<a name="807"><span class="lineNum"> 807 </span> : : #define SLOT_CAP_CCARD 0x04</a> -<a name="808"><span class="lineNum"> 808 </span> : : #define SLOT_CAP_HOTPLUG 0x08</a> -<a name="809"><span class="lineNum"> 809 </span> : : #define SLOT_CAP_SRIOV 0x10 /* phyp junk */</a> -<a name="810"><span class="lineNum"> 810 </span> : : #define SLOT_CAP_ELLOCO 0x20 /* why is this seperate from the nvlink cap? */</a> -<a name="811"><span class="lineNum"> 811 </span> : : #define SLOT_CAP_NVLINK 0x30</a> -<a name="812"><span class="lineNum"> 812 </span> : : </a> -<a name="813"><span class="lineNum"> 813 </span> : : __be16 reserved1;</a> -<a name="814"><span class="lineNum"> 814 </span> : : </a> -<a name="815"><span class="lineNum"> 815 </span> : : /* I2C Link IDs */</a> -<a name="816"><span class="lineNum"> 816 </span> : : __be32 i2c_power_ctl;</a> -<a name="817"><span class="lineNum"> 817 </span> : : __be32 i2c_pgood;</a> -<a name="818"><span class="lineNum"> 818 </span> : : __be32 i2c_cable_card; /* opencapi presence detect? */</a> -<a name="819"><span class="lineNum"> 819 </span> : : __be32 i2c_mex_fpga;</a> -<a name="820"><span class="lineNum"> 820 </span> : : };</a> -<a name="821"><span class="lineNum"> 821 </span> : : </a> -<a name="822"><span class="lineNum"> 822 </span> : : /*</a> -<a name="823"><span class="lineNum"> 823 </span> : : * IO KID is a dauther card structure</a> -<a name="824"><span class="lineNum"> 824 </span> : : */</a> -<a name="825"><span class="lineNum"> 825 </span> : : #define IOKID_FRU_ID_DATA 0</a> -<a name="826"><span class="lineNum"> 826 </span> : : #define IOKID_KW_VPD 1</a> +<a name="767"><span class="lineNum"> 767 </span> : : /*</a> +<a name="768"><span class="lineNum"> 768 </span> : : * IO KID is a dauther card structure</a> +<a name="769"><span class="lineNum"> 769 </span> : : */</a> +<a name="770"><span class="lineNum"> 770 </span> : : #define IOKID_FRU_ID_DATA 0</a> +<a name="771"><span class="lineNum"> 771 </span> : : #define IOKID_KW_VPD 1</a> +<a name="772"><span class="lineNum"> 772 </span> : : </a> +<a name="773"><span class="lineNum"> 773 </span> : : /*</a> +<a name="774"><span class="lineNum"> 774 </span> : : * CPU Controls Legacy Structure</a> +<a name="775"><span class="lineNum"> 775 </span> : : */</a> +<a name="776"><span class="lineNum"> 776 </span> : : struct cpu_ctl_legacy {</a> +<a name="777"><span class="lineNum"> 777 </span> : : __be64 addr;</a> +<a name="778"><span class="lineNum"> 778 </span> : : __be64 size;</a> +<a name="779"><span class="lineNum"> 779 </span> : : } __packed;</a> +<a name="780"><span class="lineNum"> 780 </span> : : </a> +<a name="781"><span class="lineNum"> 781 </span> : : /*</a> +<a name="782"><span class="lineNum"> 782 </span> : : * CPU Control Legacy table</a> +<a name="783"><span class="lineNum"> 783 </span> : : *</a> +<a name="784"><span class="lineNum"> 784 </span> : : * Format of this table is defined in FIPS PHYP Attn spec.</a> +<a name="785"><span class="lineNum"> 785 </span> : : */</a> +<a name="786"><span class="lineNum"> 786 </span> : : struct cpu_ctl_legacy_table {</a> +<a name="787"><span class="lineNum"> 787 </span> : : struct cpu_ctl_legacy spat;</a> +<a name="788"><span class="lineNum"> 788 </span> : : struct cpu_ctl_legacy sp_attn_area1;</a> +<a name="789"><span class="lineNum"> 789 </span> : : struct cpu_ctl_legacy sp_attn_area2;</a> +<a name="790"><span class="lineNum"> 790 </span> : : struct cpu_ctl_legacy hsr_area;</a> +<a name="791"><span class="lineNum"> 791 </span> : : struct cpu_ctl_legacy reserved[12];</a> +<a name="792"><span class="lineNum"> 792 </span> : : } __packed;</a> +<a name="793"><span class="lineNum"> 793 </span> : : </a> +<a name="794"><span class="lineNum"> 794 </span> : : /*</a> +<a name="795"><span class="lineNum"> 795 </span> : : * CPU Controls Header Structure</a> +<a name="796"><span class="lineNum"> 796 </span> : : */</a> +<a name="797"><span class="lineNum"> 797 </span> : : #define CPU_CTL_HDIF_SIG "CPUCTL"</a> +<a name="798"><span class="lineNum"> 798 </span> : : struct cpu_ctl_init_data {</a> +<a name="799"><span class="lineNum"> 799 </span> : : struct HDIF_common_hdr hdr;</a> +<a name="800"><span class="lineNum"> 800 </span> : : struct HDIF_idata_ptr cpu_ctl;</a> +<a name="801"><span class="lineNum"> 801 </span> : : uint8_t reserved[8];</a> +<a name="802"><span class="lineNum"> 802 </span> : : struct cpu_ctl_legacy_table cpu_ctl_lt;</a> +<a name="803"><span class="lineNum"> 803 </span> : : } __packed __align(0x10);</a> +<a name="804"><span class="lineNum"> 804 </span> : : </a> +<a name="805"><span class="lineNum"> 805 </span> : : /*</a> +<a name="806"><span class="lineNum"> 806 </span> : : * Slot Location Code Array (aka SLCA)</a> +<a name="807"><span class="lineNum"> 807 </span> : : *</a> +<a name="808"><span class="lineNum"> 808 </span> : : * This is a pile of location codes referenced by various other</a> +<a name="809"><span class="lineNum"> 809 </span> : : * structures such as the IO Hubs for things on the CEC. Not</a> +<a name="810"><span class="lineNum"> 810 </span> : : * everything in there is a physical port. The SLCA is actually</a> +<a name="811"><span class="lineNum"> 811 </span> : : * a tree which represent the topology of the system.</a> +<a name="812"><span class="lineNum"> 812 </span> : : *</a> +<a name="813"><span class="lineNum"> 813 </span> : : * The tree works as follow: A parent has a pointer to the first</a> +<a name="814"><span class="lineNum"> 814 </span> : : * child. A child has a pointer to its parent. Siblings are</a> +<a name="815"><span class="lineNum"> 815 </span> : : * consecutive entries.</a> +<a name="816"><span class="lineNum"> 816 </span> : : *</a> +<a name="817"><span class="lineNum"> 817 </span> : : * Note: If we ever support concurrent maintenance... this is</a> +<a name="818"><span class="lineNum"> 818 </span> : : * completely rebuilt, invalidating all indices, though other</a> +<a name="819"><span class="lineNum"> 819 </span> : : * structures that may reference SLCA by index will be rebuilt</a> +<a name="820"><span class="lineNum"> 820 </span> : : * as well.</a> +<a name="821"><span class="lineNum"> 821 </span> : : *</a> +<a name="822"><span class="lineNum"> 822 </span> : : * Note that a lot of that stuff is based on VPD documentation</a> +<a name="823"><span class="lineNum"> 823 </span> : : * such as the identification keywords. I will list the ones</a> +<a name="824"><span class="lineNum"> 824 </span> : : * I manage to figure out without the doc separately.</a> +<a name="825"><span class="lineNum"> 825 </span> : : */</a> +<a name="826"><span class="lineNum"> 826 </span> : : #define SLCA_HDIF_SIG "SLCA "</a> <a name="827"><span class="lineNum"> 827 </span> : : </a> -<a name="828"><span class="lineNum"> 828 </span> : : /*</a> -<a name="829"><span class="lineNum"> 829 </span> : : * CPU Controls Legacy Structure</a> -<a name="830"><span class="lineNum"> 830 </span> : : */</a> -<a name="831"><span class="lineNum"> 831 </span> : : struct cpu_ctl_legacy {</a> -<a name="832"><span class="lineNum"> 832 </span> : : __be64 addr;</a> -<a name="833"><span class="lineNum"> 833 </span> : : __be64 size;</a> -<a name="834"><span class="lineNum"> 834 </span> : : } __packed;</a> +<a name="828"><span class="lineNum"> 828 </span> : : /* Idata index 0 : SLCA root pointer</a> +<a name="829"><span class="lineNum"> 829 </span> : : *</a> +<a name="830"><span class="lineNum"> 830 </span> : : * The SLCA array is an HDIF array of all the entries. The tree</a> +<a name="831"><span class="lineNum"> 831 </span> : : * structure is based on indices inside the entries and order of</a> +<a name="832"><span class="lineNum"> 832 </span> : : * the entries</a> +<a name="833"><span class="lineNum"> 833 </span> : : */</a> +<a name="834"><span class="lineNum"> 834 </span> : : #define SLCA_IDATA_ARRAY 0</a> <a name="835"><span class="lineNum"> 835 </span> : : </a> -<a name="836"><span class="lineNum"> 836 </span> : : /*</a> -<a name="837"><span class="lineNum"> 837 </span> : : * CPU Control Legacy table</a> -<a name="838"><span class="lineNum"> 838 </span> : : *</a> -<a name="839"><span class="lineNum"> 839 </span> : : * Format of this table is defined in FIPS PHYP Attn spec.</a> +<a name="836"><span class="lineNum"> 836 </span> : : #define SLCA_ROOT_INDEX 0</a> +<a name="837"><span class="lineNum"> 837 </span> : : </a> +<a name="838"><span class="lineNum"> 838 </span> : : /* Note: An "index" (or idx) is always an index into the SLCA array</a> +<a name="839"><span class="lineNum"> 839 </span> : : * and "id" is a reference to some other object.</a> <a name="840"><span class="lineNum"> 840 </span> : : */</a> -<a name="841"><span class="lineNum"> 841 </span> : : struct cpu_ctl_legacy_table {</a> -<a name="842"><span class="lineNum"> 842 </span> : : struct cpu_ctl_legacy spat;</a> -<a name="843"><span class="lineNum"> 843 </span> : : struct cpu_ctl_legacy sp_attn_area1;</a> -<a name="844"><span class="lineNum"> 844 </span> : : struct cpu_ctl_legacy sp_attn_area2;</a> -<a name="845"><span class="lineNum"> 845 </span> : : struct cpu_ctl_legacy hsr_area;</a> -<a name="846"><span class="lineNum"> 846 </span> : : struct cpu_ctl_legacy reserved[12];</a> -<a name="847"><span class="lineNum"> 847 </span> : : } __packed;</a> -<a name="848"><span class="lineNum"> 848 </span> : : </a> -<a name="849"><span class="lineNum"> 849 </span> : : /*</a> -<a name="850"><span class="lineNum"> 850 </span> : : * CPU Controls Header Structure</a> -<a name="851"><span class="lineNum"> 851 </span> : : */</a> -<a name="852"><span class="lineNum"> 852 </span> : : #define CPU_CTL_HDIF_SIG "CPUCTL"</a> -<a name="853"><span class="lineNum"> 853 </span> : : struct cpu_ctl_init_data {</a> -<a name="854"><span class="lineNum"> 854 </span> : : struct HDIF_common_hdr hdr;</a> -<a name="855"><span class="lineNum"> 855 </span> : : struct HDIF_idata_ptr cpu_ctl;</a> -<a name="856"><span class="lineNum"> 856 </span> : : uint8_t reserved[8];</a> -<a name="857"><span class="lineNum"> 857 </span> : : struct cpu_ctl_legacy_table cpu_ctl_lt;</a> -<a name="858"><span class="lineNum"> 858 </span> : : } __packed __align(0x10);</a> -<a name="859"><span class="lineNum"> 859 </span> : : </a> -<a name="860"><span class="lineNum"> 860 </span> : : /*</a> -<a name="861"><span class="lineNum"> 861 </span> : : * Slot Location Code Array (aka SLCA)</a> -<a name="862"><span class="lineNum"> 862 </span> : : *</a> -<a name="863"><span class="lineNum"> 863 </span> : : * This is a pile of location codes referenced by various other</a> -<a name="864"><span class="lineNum"> 864 </span> : : * structures such as the IO Hubs for things on the CEC. Not</a> -<a name="865"><span class="lineNum"> 865 </span> : : * everything in there is a physical port. The SLCA is actually</a> -<a name="866"><span class="lineNum"> 866 </span> : : * a tree which represent the topology of the system.</a> -<a name="867"><span class="lineNum"> 867 </span> : : *</a> -<a name="868"><span class="lineNum"> 868 </span> : : * The tree works as follow: A parent has a pointer to the first</a> -<a name="869"><span class="lineNum"> 869 </span> : : * child. A child has a pointer to its parent. Siblings are</a> -<a name="870"><span class="lineNum"> 870 </span> : : * consecutive entries.</a> -<a name="871"><span class="lineNum"> 871 </span> : : *</a> -<a name="872"><span class="lineNum"> 872 </span> : : * Note: If we ever support concurrent maintenance... this is</a> -<a name="873"><span class="lineNum"> 873 </span> : : * completely rebuilt, invalidating all indices, though other</a> -<a name="874"><span class="lineNum"> 874 </span> : : * structures that may reference SLCA by index will be rebuilt</a> -<a name="875"><span class="lineNum"> 875 </span> : : * as well.</a> -<a name="876"><span class="lineNum"> 876 </span> : : *</a> -<a name="877"><span class="lineNum"> 877 </span> : : * Note that a lot of that stuff is based on VPD documentation</a> -<a name="878"><span class="lineNum"> 878 </span> : : * such as the identification keywords. I will list the ones</a> -<a name="879"><span class="lineNum"> 879 </span> : : * I manage to figure out without the doc separately.</a> -<a name="880"><span class="lineNum"> 880 </span> : : */</a> -<a name="881"><span class="lineNum"> 881 </span> : : #define SLCA_HDIF_SIG "SLCA "</a> -<a name="882"><span class="lineNum"> 882 </span> : : </a> -<a name="883"><span class="lineNum"> 883 </span> : : /* Idata index 0 : SLCA root pointer</a> -<a name="884"><span class="lineNum"> 884 </span> : : *</a> -<a name="885"><span class="lineNum"> 885 </span> : : * The SLCA array is an HDIF array of all the entries. The tree</a> -<a name="886"><span class="lineNum"> 886 </span> : : * structure is based on indices inside the entries and order of</a> -<a name="887"><span class="lineNum"> 887 </span> : : * the entries</a> -<a name="888"><span class="lineNum"> 888 </span> : : */</a> -<a name="889"><span class="lineNum"> 889 </span> : : #define SLCA_IDATA_ARRAY 0</a> -<a name="890"><span class="lineNum"> 890 </span> : : </a> -<a name="891"><span class="lineNum"> 891 </span> : : #define SLCA_ROOT_INDEX 0</a> +<a name="841"><span class="lineNum"> 841 </span> : : struct slca_entry {</a> +<a name="842"><span class="lineNum"> 842 </span> : : __be16 my_index; /* redundant, useful */</a> +<a name="843"><span class="lineNum"> 843 </span> : : __be16 rsrc_id; /* formerly VPD port number */</a> +<a name="844"><span class="lineNum"> 844 </span> : : uint8_t fru_id[2]; /* ASCII VPD ID */</a> +<a name="845"><span class="lineNum"> 845 </span> : : #define SLCA_ROOT_VPD_ID VPD_ID('V','V')</a> +<a name="846"><span class="lineNum"> 846 </span> : : #define SLCA_SYSTEM_VPD_ID VPD_ID('S','V')</a> +<a name="847"><span class="lineNum"> 847 </span> : : #define SLCA_SAI_INDICATOR_ID VPD_ID('S','A')</a> +<a name="848"><span class="lineNum"> 848 </span> : : __be16 parent_index; /* Parent entry index */</a> +<a name="849"><span class="lineNum"> 849 </span> : : uint8_t flags;</a> +<a name="850"><span class="lineNum"> 850 </span> : : #define SLCA_FLAG_NON_FUNCTIONAL 0x02 /* For redundant entries */</a> +<a name="851"><span class="lineNum"> 851 </span> : : #define SLCA_FLAG_IMBEDDED 0x01 /* not set => pluggable */</a> +<a name="852"><span class="lineNum"> 852 </span> : : uint8_t old_nr_child; /* Legacy: Nr of children */</a> +<a name="853"><span class="lineNum"> 853 </span> : : __be16 child_index; /* First child index */</a> +<a name="854"><span class="lineNum"> 854 </span> : : __be16 child_rsrc_id; /* Resource ID of first child */</a> +<a name="855"><span class="lineNum"> 855 </span> : : uint8_t loc_code_allen; /* Alloc len of loc code */</a> +<a name="856"><span class="lineNum"> 856 </span> : : uint8_t loc_code_len; /* Loc code len */</a> +<a name="857"><span class="lineNum"> 857 </span> : : uint8_t loc_code[LOC_CODE_SIZE]; /* NULL terminated (thus max 79 chr) */</a> +<a name="858"><span class="lineNum"> 858 </span> : : __be16 first_dup_idx; /* First redundant resource index */</a> +<a name="859"><span class="lineNum"> 859 </span> : : uint8_t nr_dups; /* Number of redundant entries */</a> +<a name="860"><span class="lineNum"> 860 </span> : : uint8_t reserved;</a> +<a name="861"><span class="lineNum"> 861 </span> : : __be16 nr_child; /* New version */</a> +<a name="862"><span class="lineNum"> 862 </span> : : uint8_t install_indic; /* Installed indicator */</a> +<a name="863"><span class="lineNum"> 863 </span> : : #define SLCA_INSTALL_NO_HW_PDT 1 /* No HW presence detect */</a> +<a name="864"><span class="lineNum"> 864 </span> : : #define SLCA_INSTALL_INSTALLED 2</a> +<a name="865"><span class="lineNum"> 865 </span> : : #define SLCA_INSTALL_NOT_INSTALLED 3</a> +<a name="866"><span class="lineNum"> 866 </span> : : uint8_t vpd_collected;</a> +<a name="867"><span class="lineNum"> 867 </span> : : #define SLCA_VPD_COLLECTED 2</a> +<a name="868"><span class="lineNum"> 868 </span> : : #define SLCA_VPD_NOT_COLLECTED 3</a> +<a name="869"><span class="lineNum"> 869 </span> : : } __packed;</a> +<a name="870"><span class="lineNum"> 870 </span> : : </a> +<a name="871"><span class="lineNum"> 871 </span> : : /*</a> +<a name="872"><span class="lineNum"> 872 </span> : : * System VPD</a> +<a name="873"><span class="lineNum"> 873 </span> : : */</a> +<a name="874"><span class="lineNum"> 874 </span> : : #define SYSVPD_HDIF_SIG "SYSVPD"</a> +<a name="875"><span class="lineNum"> 875 </span> : : </a> +<a name="876"><span class="lineNum"> 876 </span> : : /* Idata index 0 : FRU ID Data */</a> +<a name="877"><span class="lineNum"> 877 </span> : : #define SYSVPD_IDATA_FRU_ID 0</a> +<a name="878"><span class="lineNum"> 878 </span> : : </a> +<a name="879"><span class="lineNum"> 879 </span> : : /* Idata index 1 : Keyword VPD */</a> +<a name="880"><span class="lineNum"> 880 </span> : : #define SYSVPD_IDATA_KW_VPD 1</a> +<a name="881"><span class="lineNum"> 881 </span> : : </a> +<a name="882"><span class="lineNum"> 882 </span> : : /* Idata index 2 : Operational status */</a> +<a name="883"><span class="lineNum"> 883 </span> : : #define SYSVPD_IDATA_OP_STATUS 2</a> +<a name="884"><span class="lineNum"> 884 </span> : : </a> +<a name="885"><span class="lineNum"> 885 </span> : : /*</a> +<a name="886"><span class="lineNum"> 886 </span> : : * FRU keyword VPD structure</a> +<a name="887"><span class="lineNum"> 887 </span> : : */</a> +<a name="888"><span class="lineNum"> 888 </span> : : #define FRUVPD_HDIF_SIG "FRUVPD"</a> +<a name="889"><span class="lineNum"> 889 </span> : : </a> +<a name="890"><span class="lineNum"> 890 </span> : : /* Idata index 0 : FRU ID Data */</a> +<a name="891"><span class="lineNum"> 891 </span> : : #define FRUVPD_IDATA_FRU_ID 0</a> <a name="892"><span class="lineNum"> 892 </span> : : </a> -<a name="893"><span class="lineNum"> 893 </span> : : /* Note: An "index" (or idx) is always an index into the SLCA array</a> -<a name="894"><span class="lineNum"> 894 </span> : : * and "id" is a reference to some other object.</a> -<a name="895"><span class="lineNum"> 895 </span> : : */</a> -<a name="896"><span class="lineNum"> 896 </span> : : struct slca_entry {</a> -<a name="897"><span class="lineNum"> 897 </span> : : __be16 my_index; /* redundant, useful */</a> -<a name="898"><span class="lineNum"> 898 </span> : : __be16 rsrc_id; /* formerly VPD port number */</a> -<a name="899"><span class="lineNum"> 899 </span> : : uint8_t fru_id[2]; /* ASCII VPD ID */</a> -<a name="900"><span class="lineNum"> 900 </span> : : #define SLCA_ROOT_VPD_ID VPD_ID('V','V')</a> -<a name="901"><span class="lineNum"> 901 </span> : : #define SLCA_SYSTEM_VPD_ID VPD_ID('S','V')</a> -<a name="902"><span class="lineNum"> 902 </span> : : #define SLCA_SAI_INDICATOR_ID VPD_ID('S','A')</a> -<a name="903"><span class="lineNum"> 903 </span> : : __be16 parent_index; /* Parent entry index */</a> -<a name="904"><span class="lineNum"> 904 </span> : : uint8_t flags;</a> -<a name="905"><span class="lineNum"> 905 </span> : : #define SLCA_FLAG_NON_FUNCTIONAL 0x02 /* For redundant entries */</a> -<a name="906"><span class="lineNum"> 906 </span> : : #define SLCA_FLAG_IMBEDDED 0x01 /* not set => pluggable */</a> -<a name="907"><span class="lineNum"> 907 </span> : : uint8_t old_nr_child; /* Legacy: Nr of children */</a> -<a name="908"><span class="lineNum"> 908 </span> : : __be16 child_index; /* First child index */</a> -<a name="909"><span class="lineNum"> 909 </span> : : __be16 child_rsrc_id; /* Resource ID of first child */</a> -<a name="910"><span class="lineNum"> 910 </span> : : uint8_t loc_code_allen; /* Alloc len of loc code */</a> -<a name="911"><span class="lineNum"> 911 </span> : : uint8_t loc_code_len; /* Loc code len */</a> -<a name="912"><span class="lineNum"> 912 </span> : : uint8_t loc_code[LOC_CODE_SIZE]; /* NULL terminated (thus max 79 chr) */</a> -<a name="913"><span class="lineNum"> 913 </span> : : __be16 first_dup_idx; /* First redundant resource index */</a> -<a name="914"><span class="lineNum"> 914 </span> : : uint8_t nr_dups; /* Number of redundant entries */</a> -<a name="915"><span class="lineNum"> 915 </span> : : uint8_t reserved;</a> -<a name="916"><span class="lineNum"> 916 </span> : : __be16 nr_child; /* New version */</a> -<a name="917"><span class="lineNum"> 917 </span> : : uint8_t install_indic; /* Installed indicator */</a> -<a name="918"><span class="lineNum"> 918 </span> : : #define SLCA_INSTALL_NO_HW_PDT 1 /* No HW presence detect */</a> -<a name="919"><span class="lineNum"> 919 </span> : : #define SLCA_INSTALL_INSTALLED 2</a> -<a name="920"><span class="lineNum"> 920 </span> : : #define SLCA_INSTALL_NOT_INSTALLED 3</a> -<a name="921"><span class="lineNum"> 921 </span> : : uint8_t vpd_collected;</a> -<a name="922"><span class="lineNum"> 922 </span> : : #define SLCA_VPD_COLLECTED 2</a> -<a name="923"><span class="lineNum"> 923 </span> : : #define SLCA_VPD_NOT_COLLECTED 3</a> -<a name="924"><span class="lineNum"> 924 </span> : : } __packed;</a> -<a name="925"><span class="lineNum"> 925 </span> : : </a> -<a name="926"><span class="lineNum"> 926 </span> : : /*</a> -<a name="927"><span class="lineNum"> 927 </span> : : * System VPD</a> -<a name="928"><span class="lineNum"> 928 </span> : : */</a> -<a name="929"><span class="lineNum"> 929 </span> : : #define SYSVPD_HDIF_SIG "SYSVPD"</a> -<a name="930"><span class="lineNum"> 930 </span> : : </a> -<a name="931"><span class="lineNum"> 931 </span> : : /* Idata index 0 : FRU ID Data */</a> -<a name="932"><span class="lineNum"> 932 </span> : : #define SYSVPD_IDATA_FRU_ID 0</a> -<a name="933"><span class="lineNum"> 933 </span> : : </a> -<a name="934"><span class="lineNum"> 934 </span> : : /* Idata index 1 : Keyword VPD */</a> -<a name="935"><span class="lineNum"> 935 </span> : : #define SYSVPD_IDATA_KW_VPD 1</a> -<a name="936"><span class="lineNum"> 936 </span> : : </a> -<a name="937"><span class="lineNum"> 937 </span> : : /* Idata index 2 : Operational status */</a> -<a name="938"><span class="lineNum"> 938 </span> : : #define SYSVPD_IDATA_OP_STATUS 2</a> -<a name="939"><span class="lineNum"> 939 </span> : : </a> -<a name="940"><span class="lineNum"> 940 </span> : : /*</a> -<a name="941"><span class="lineNum"> 941 </span> : : * FRU keyword VPD structure</a> -<a name="942"><span class="lineNum"> 942 </span> : : */</a> -<a name="943"><span class="lineNum"> 943 </span> : : #define FRUVPD_HDIF_SIG "FRUVPD"</a> -<a name="944"><span class="lineNum"> 944 </span> : : </a> -<a name="945"><span class="lineNum"> 945 </span> : : /* Idata index 0 : FRU ID Data */</a> -<a name="946"><span class="lineNum"> 946 </span> : : #define FRUVPD_IDATA_FRU_ID 0</a> -<a name="947"><span class="lineNum"> 947 </span> : : </a> -<a name="948"><span class="lineNum"> 948 </span> : : /* Idata index 1 : Keyword VPD */</a> -<a name="949"><span class="lineNum"> 949 </span> : : #define FRUVPD_IDATA_KW_VPD 1</a> -<a name="950"><span class="lineNum"> 950 </span> : : </a> -<a name="951"><span class="lineNum"> 951 </span> : : /* Idata index 2 : Operational status */</a> -<a name="952"><span class="lineNum"> 952 </span> : : #define FRUVPD_IDATA_OP_STATUS 2</a> -<a name="953"><span class="lineNum"> 953 </span> : : </a> -<a name="954"><span class="lineNum"> 954 </span> : : </a> -<a name="955"><span class="lineNum"> 955 </span> : : /*</a> -<a name="956"><span class="lineNum"> 956 </span> : : * SPPCIA structure. The SPIRA contain an array of these, one</a> -<a name="957"><span class="lineNum"> 957 </span> : : * per processor core</a> -<a name="958"><span class="lineNum"> 958 </span> : : */</a> -<a name="959"><span class="lineNum"> 959 </span> : : #define SPPCIA_HDIF_SIG "SPPCIA"</a> -<a name="960"><span class="lineNum"> 960 </span> : : </a> -<a name="961"><span class="lineNum"> 961 </span> : : /* Idata index 0 : Core unique data */</a> -<a name="962"><span class="lineNum"> 962 </span> : : #define SPPCIA_IDATA_CORE_UNIQUE 0</a> -<a name="963"><span class="lineNum"> 963 </span> : : </a> -<a name="964"><span class="lineNum"> 964 </span> : : struct sppcia_core_unique {</a> -<a name="965"><span class="lineNum"> 965 </span> : : __be32 reserved;</a> -<a name="966"><span class="lineNum"> 966 </span> : : __be32 proc_fru_id;</a> -<a name="967"><span class="lineNum"> 967 </span> : : __be32 hw_proc_id;</a> -<a name="968"><span class="lineNum"> 968 </span> : : #define CPU_ID_VERIFY_MASK 0xC0000000</a> -<a name="969"><span class="lineNum"> 969 </span> : : #define CPU_ID_VERIFY_SHIFT 30</a> -<a name="970"><span class="lineNum"> 970 </span> : : #define CPU_ID_VERIFY_USABLE_NO_FAILURES 0</a> -<a name="971"><span class="lineNum"> 971 </span> : : #define CPU_ID_VERIFY_USABLE_FAILURES 1</a> -<a name="972"><span class="lineNum"> 972 </span> : : #define CPU_ID_VERIFY_NOT_INSTALLED 2</a> -<a name="973"><span class="lineNum"> 973 </span> : : #define CPU_ID_VERIFY_UNUSABLE 3</a> -<a name="974"><span class="lineNum"> 974 </span> : : #define CPU_ID_SECONDARY_THREAD 0x20000000</a> -<a name="975"><span class="lineNum"> 975 </span> : : #define CPU_ID_PCIA_RESERVED 0x10000000</a> -<a name="976"><span class="lineNum"> 976 </span> : : #define CPU_ID_NUM_SECONDARY_THREAD_MASK 0x00FF0000</a> -<a name="977"><span class="lineNum"> 977 </span> : : #define CPU_ID_NUM_SECONDARY_THREAD_SHIFT 16</a> -<a name="978"><span class="lineNum"> 978 </span> : : __be32 verif_exist_flags;</a> -<a name="979"><span class="lineNum"> 979 </span> : : __be32 chip_ec_level;</a> -<a name="980"><span class="lineNum"> 980 </span> : : __be32 proc_chip_id;</a> -<a name="981"><span class="lineNum"> 981 </span> : : __be32 reserved2;</a> -<a name="982"><span class="lineNum"> 982 </span> : : __be32 reserved3;</a> -<a name="983"><span class="lineNum"> 983 </span> : : __be32 reserved4;</a> -<a name="984"><span class="lineNum"> 984 </span> : : __be32 hw_module_id;</a> -<a name="985"><span class="lineNum"> 985 </span> : : __be64 reserved5;</a> -<a name="986"><span class="lineNum"> 986 </span> : : __be32 reserved6;</a> -<a name="987"><span class="lineNum"> 987 </span> : : __be32 reserved7;</a> -<a name="988"><span class="lineNum"> 988 </span> : : __be32 reserved8;</a> -<a name="989"><span class="lineNum"> 989 </span> : : __be32 ccm_node_id;</a> -<a name="990"><span class="lineNum"> 990 </span> : : __be32 hw_card_id;</a> -<a name="991"><span class="lineNum"> 991 </span> : : __be32 internal_drawer_node_id;</a> -<a name="992"><span class="lineNum"> 992 </span> : : __be32 drawer_book_octant_blade_id;</a> -<a name="993"><span class="lineNum"> 993 </span> : : __be32 memory_interleaving_scope;</a> -<a name="994"><span class="lineNum"> 994 </span> : : __be32 lco_target;</a> -<a name="995"><span class="lineNum"> 995 </span> : : __be32 reserved9;</a> -<a name="996"><span class="lineNum"> 996 </span> : : } __packed;</a> -<a name="997"><span class="lineNum"> 997 </span> : : </a> -<a name="998"><span class="lineNum"> 998 </span> : : /* Idata index 1 : CPU Time base structure */</a> -<a name="999"><span class="lineNum"> 999 </span> : : #define SPPCIA_IDATA_TIMEBASE 1</a> -<a name="1000"><span class="lineNum"> 1000 </span> : : </a> -<a name="1001"><span class="lineNum"> 1001 </span> : : struct sppcia_cpu_timebase {</a> -<a name="1002"><span class="lineNum"> 1002 </span> : : __be32 cycle_time;</a> -<a name="1003"><span class="lineNum"> 1003 </span> : : __be32 time_base;</a> -<a name="1004"><span class="lineNum"> 1004 </span> : : __be32 actual_clock_speed;</a> -<a name="1005"><span class="lineNum"> 1005 </span> : : __be32 memory_bus_frequency;</a> -<a name="1006"><span class="lineNum"> 1006 </span> : : } __packed;</a> -<a name="1007"><span class="lineNum"> 1007 </span> : : </a> -<a name="1008"><span class="lineNum"> 1008 </span> : : /* Idata index 2 : CPU Cache Size Structure */</a> -<a name="1009"><span class="lineNum"> 1009 </span> : : #define SPPCIA_IDATA_CPU_CACHE 2</a> +<a name="893"><span class="lineNum"> 893 </span> : : /* Idata index 1 : Keyword VPD */</a> +<a name="894"><span class="lineNum"> 894 </span> : : #define FRUVPD_IDATA_KW_VPD 1</a> +<a name="895"><span class="lineNum"> 895 </span> : : </a> +<a name="896"><span class="lineNum"> 896 </span> : : /* Idata index 2 : Operational status */</a> +<a name="897"><span class="lineNum"> 897 </span> : : #define FRUVPD_IDATA_OP_STATUS 2</a> +<a name="898"><span class="lineNum"> 898 </span> : : </a> +<a name="899"><span class="lineNum"> 899 </span> : : </a> +<a name="900"><span class="lineNum"> 900 </span> : : /*</a> +<a name="901"><span class="lineNum"> 901 </span> : : * SPPCIA structure. The SPIRA contain an array of these, one</a> +<a name="902"><span class="lineNum"> 902 </span> : : * per processor core</a> +<a name="903"><span class="lineNum"> 903 </span> : : */</a> +<a name="904"><span class="lineNum"> 904 </span> : : #define SPPCIA_HDIF_SIG "SPPCIA"</a> +<a name="905"><span class="lineNum"> 905 </span> : : </a> +<a name="906"><span class="lineNum"> 906 </span> : : /* Idata index 0 : Core unique data */</a> +<a name="907"><span class="lineNum"> 907 </span> : : #define SPPCIA_IDATA_CORE_UNIQUE 0</a> +<a name="908"><span class="lineNum"> 908 </span> : : </a> +<a name="909"><span class="lineNum"> 909 </span> : : struct sppcia_core_unique {</a> +<a name="910"><span class="lineNum"> 910 </span> : : __be32 reserved;</a> +<a name="911"><span class="lineNum"> 911 </span> : : __be32 proc_fru_id;</a> +<a name="912"><span class="lineNum"> 912 </span> : : __be32 hw_proc_id;</a> +<a name="913"><span class="lineNum"> 913 </span> : : #define CPU_ID_VERIFY_MASK 0xC0000000</a> +<a name="914"><span class="lineNum"> 914 </span> : : #define CPU_ID_VERIFY_SHIFT 30</a> +<a name="915"><span class="lineNum"> 915 </span> : : #define CPU_ID_VERIFY_USABLE_NO_FAILURES 0</a> +<a name="916"><span class="lineNum"> 916 </span> : : #define CPU_ID_VERIFY_USABLE_FAILURES 1</a> +<a name="917"><span class="lineNum"> 917 </span> : : #define CPU_ID_VERIFY_NOT_INSTALLED 2</a> +<a name="918"><span class="lineNum"> 918 </span> : : #define CPU_ID_VERIFY_UNUSABLE 3</a> +<a name="919"><span class="lineNum"> 919 </span> : : #define CPU_ID_SECONDARY_THREAD 0x20000000</a> +<a name="920"><span class="lineNum"> 920 </span> : : #define CPU_ID_PCIA_RESERVED 0x10000000</a> +<a name="921"><span class="lineNum"> 921 </span> : : #define CPU_ID_NUM_SECONDARY_THREAD_MASK 0x00FF0000</a> +<a name="922"><span class="lineNum"> 922 </span> : : #define CPU_ID_NUM_SECONDARY_THREAD_SHIFT 16</a> +<a name="923"><span class="lineNum"> 923 </span> : : __be32 verif_exist_flags;</a> +<a name="924"><span class="lineNum"> 924 </span> : : __be32 chip_ec_level;</a> +<a name="925"><span class="lineNum"> 925 </span> : : __be32 proc_chip_id;</a> +<a name="926"><span class="lineNum"> 926 </span> : : __be32 reserved2;</a> +<a name="927"><span class="lineNum"> 927 </span> : : __be32 reserved3;</a> +<a name="928"><span class="lineNum"> 928 </span> : : __be32 reserved4;</a> +<a name="929"><span class="lineNum"> 929 </span> : : __be32 hw_module_id;</a> +<a name="930"><span class="lineNum"> 930 </span> : : __be64 reserved5;</a> +<a name="931"><span class="lineNum"> 931 </span> : : __be32 reserved6;</a> +<a name="932"><span class="lineNum"> 932 </span> : : __be32 reserved7;</a> +<a name="933"><span class="lineNum"> 933 </span> : : __be32 reserved8;</a> +<a name="934"><span class="lineNum"> 934 </span> : : __be32 ccm_node_id;</a> +<a name="935"><span class="lineNum"> 935 </span> : : __be32 hw_card_id;</a> +<a name="936"><span class="lineNum"> 936 </span> : : __be32 internal_drawer_node_id;</a> +<a name="937"><span class="lineNum"> 937 </span> : : __be32 drawer_book_octant_blade_id;</a> +<a name="938"><span class="lineNum"> 938 </span> : : __be32 memory_interleaving_scope;</a> +<a name="939"><span class="lineNum"> 939 </span> : : __be32 lco_target;</a> +<a name="940"><span class="lineNum"> 940 </span> : : __be32 reserved9;</a> +<a name="941"><span class="lineNum"> 941 </span> : : } __packed;</a> +<a name="942"><span class="lineNum"> 942 </span> : : </a> +<a name="943"><span class="lineNum"> 943 </span> : : /* Idata index 1 : CPU Time base structure */</a> +<a name="944"><span class="lineNum"> 944 </span> : : #define SPPCIA_IDATA_TIMEBASE 1</a> +<a name="945"><span class="lineNum"> 945 </span> : : </a> +<a name="946"><span class="lineNum"> 946 </span> : : struct sppcia_cpu_timebase {</a> +<a name="947"><span class="lineNum"> 947 </span> : : __be32 cycle_time;</a> +<a name="948"><span class="lineNum"> 948 </span> : : __be32 time_base;</a> +<a name="949"><span class="lineNum"> 949 </span> : : __be32 actual_clock_speed;</a> +<a name="950"><span class="lineNum"> 950 </span> : : __be32 memory_bus_frequency;</a> +<a name="951"><span class="lineNum"> 951 </span> : : } __packed;</a> +<a name="952"><span class="lineNum"> 952 </span> : : </a> +<a name="953"><span class="lineNum"> 953 </span> : : /* Idata index 2 : CPU Cache Size Structure */</a> +<a name="954"><span class="lineNum"> 954 </span> : : #define SPPCIA_IDATA_CPU_CACHE 2</a> +<a name="955"><span class="lineNum"> 955 </span> : : </a> +<a name="956"><span class="lineNum"> 956 </span> : : struct sppcia_cpu_cache {</a> +<a name="957"><span class="lineNum"> 957 </span> : : __be32 icache_size_kb;</a> +<a name="958"><span class="lineNum"> 958 </span> : : __be32 icache_line_size;</a> +<a name="959"><span class="lineNum"> 959 </span> : : __be32 l1_dcache_size_kb;</a> +<a name="960"><span class="lineNum"> 960 </span> : : __be32 l1_dcache_line_size;</a> +<a name="961"><span class="lineNum"> 961 </span> : : __be32 l2_dcache_size_kb;</a> +<a name="962"><span class="lineNum"> 962 </span> : : __be32 l2_line_size;</a> +<a name="963"><span class="lineNum"> 963 </span> : : __be32 l3_dcache_size_kb;</a> +<a name="964"><span class="lineNum"> 964 </span> : : __be32 l3_line_size;</a> +<a name="965"><span class="lineNum"> 965 </span> : : __be32 dcache_block_size;</a> +<a name="966"><span class="lineNum"> 966 </span> : : __be32 icache_block_size;</a> +<a name="967"><span class="lineNum"> 967 </span> : : __be32 dcache_assoc_sets;</a> +<a name="968"><span class="lineNum"> 968 </span> : : __be32 icache_assoc_sets;</a> +<a name="969"><span class="lineNum"> 969 </span> : : __be32 dtlb_entries;</a> +<a name="970"><span class="lineNum"> 970 </span> : : __be32 dtlb_assoc_sets;</a> +<a name="971"><span class="lineNum"> 971 </span> : : __be32 itlb_entries;</a> +<a name="972"><span class="lineNum"> 972 </span> : : __be32 itlb_assoc_sets;</a> +<a name="973"><span class="lineNum"> 973 </span> : : __be32 reservation_size;</a> +<a name="974"><span class="lineNum"> 974 </span> : : __be32 l2_cache_assoc_sets;</a> +<a name="975"><span class="lineNum"> 975 </span> : : __be32 l35_dcache_size_kb;</a> +<a name="976"><span class="lineNum"> 976 </span> : : __be32 l35_cache_line_size;</a> +<a name="977"><span class="lineNum"> 977 </span> : : } __packed;</a> +<a name="978"><span class="lineNum"> 978 </span> : : </a> +<a name="979"><span class="lineNum"> 979 </span> : : </a> +<a name="980"><span class="lineNum"> 980 </span> : : /* Idata index 3 : Thread Array Data</a> +<a name="981"><span class="lineNum"> 981 </span> : : *</a> +<a name="982"><span class="lineNum"> 982 </span> : : * HDIF array of</a> +<a name="983"><span class="lineNum"> 983 </span> : : */</a> +<a name="984"><span class="lineNum"> 984 </span> : : #define SPPCIA_IDATA_THREAD_ARRAY 3</a> +<a name="985"><span class="lineNum"> 985 </span> : : </a> +<a name="986"><span class="lineNum"> 986 </span> : : struct sppcia_cpu_thread {</a> +<a name="987"><span class="lineNum"> 987 </span> : : __be32 proc_int_line;</a> +<a name="988"><span class="lineNum"> 988 </span> : : __be32 phys_thread_id;</a> +<a name="989"><span class="lineNum"> 989 </span> : : __be64 ibase;</a> +<a name="990"><span class="lineNum"> 990 </span> : : __be32 pir;</a> +<a name="991"><span class="lineNum"> 991 </span> : : } __packed;</a> +<a name="992"><span class="lineNum"> 992 </span> : : </a> +<a name="993"><span class="lineNum"> 993 </span> : : /* Idata index 4 : CPU Attributes */</a> +<a name="994"><span class="lineNum"> 994 </span> : : #define SPPCIA_IDATA_CPU_ATTR 4</a> +<a name="995"><span class="lineNum"> 995 </span> : : </a> +<a name="996"><span class="lineNum"> 996 </span> : : struct sppcia_cpu_attr {</a> +<a name="997"><span class="lineNum"> 997 </span> : : #define CPU_ATTR_UNIFIED_PL1 0x80</a> +<a name="998"><span class="lineNum"> 998 </span> : : #define CPU_ATTR_SPLIT_TLB 0x40</a> +<a name="999"><span class="lineNum"> 999 </span> : : #define CPU_ATTR_TLBIA 0x20</a> +<a name="1000"><span class="lineNum"> 1000 </span> : : #define CPU_ATTR_PERF_MONITOR 0x10</a> +<a name="1001"><span class="lineNum"> 1001 </span> : : #define CPU_ATTR_EXTERN_CONT 0x02</a> +<a name="1002"><span class="lineNum"> 1002 </span> : : __be32 attr;</a> +<a name="1003"><span class="lineNum"> 1003 </span> : : } __packed;</a> +<a name="1004"><span class="lineNum"> 1004 </span> : : </a> +<a name="1005"><span class="lineNum"> 1005 </span> : : /*</a> +<a name="1006"><span class="lineNum"> 1006 </span> : : * Processor Chip Related Data. The SPIRA contain an array of these, one</a> +<a name="1007"><span class="lineNum"> 1007 </span> : : * per chip</a> +<a name="1008"><span class="lineNum"> 1008 </span> : : */</a> +<a name="1009"><span class="lineNum"> 1009 </span> : : #define SPPCRD_HDIF_SIG "SPPCRD"</a> <a name="1010"><span class="lineNum"> 1010 </span> : : </a> -<a name="1011"><span class="lineNum"> 1011 </span> : : struct sppcia_cpu_cache {</a> -<a name="1012"><span class="lineNum"> 1012 </span> : : __be32 icache_size_kb;</a> -<a name="1013"><span class="lineNum"> 1013 </span> : : __be32 icache_line_size;</a> -<a name="1014"><span class="lineNum"> 1014 </span> : : __be32 l1_dcache_size_kb;</a> -<a name="1015"><span class="lineNum"> 1015 </span> : : __be32 l1_dcache_line_size;</a> -<a name="1016"><span class="lineNum"> 1016 </span> : : __be32 l2_dcache_size_kb;</a> -<a name="1017"><span class="lineNum"> 1017 </span> : : __be32 l2_line_size;</a> -<a name="1018"><span class="lineNum"> 1018 </span> : : __be32 l3_dcache_size_kb;</a> -<a name="1019"><span class="lineNum"> 1019 </span> : : __be32 l3_line_size;</a> -<a name="1020"><span class="lineNum"> 1020 </span> : : __be32 dcache_block_size;</a> -<a name="1021"><span class="lineNum"> 1021 </span> : : __be32 icache_block_size;</a> -<a name="1022"><span class="lineNum"> 1022 </span> : : __be32 dcache_assoc_sets;</a> -<a name="1023"><span class="lineNum"> 1023 </span> : : __be32 icache_assoc_sets;</a> -<a name="1024"><span class="lineNum"> 1024 </span> : : __be32 dtlb_entries;</a> -<a name="1025"><span class="lineNum"> 1025 </span> : : __be32 dtlb_assoc_sets;</a> -<a name="1026"><span class="lineNum"> 1026 </span> : : __be32 itlb_entries;</a> -<a name="1027"><span class="lineNum"> 1027 </span> : : __be32 itlb_assoc_sets;</a> -<a name="1028"><span class="lineNum"> 1028 </span> : : __be32 reservation_size;</a> -<a name="1029"><span class="lineNum"> 1029 </span> : : __be32 l2_cache_assoc_sets;</a> -<a name="1030"><span class="lineNum"> 1030 </span> : : __be32 l35_dcache_size_kb;</a> -<a name="1031"><span class="lineNum"> 1031 </span> : : __be32 l35_cache_line_size;</a> -<a name="1032"><span class="lineNum"> 1032 </span> : : } __packed;</a> -<a name="1033"><span class="lineNum"> 1033 </span> : : </a> -<a name="1034"><span class="lineNum"> 1034 </span> : : </a> -<a name="1035"><span class="lineNum"> 1035 </span> : : /* Idata index 3 : Thread Array Data</a> -<a name="1036"><span class="lineNum"> 1036 </span> : : *</a> -<a name="1037"><span class="lineNum"> 1037 </span> : : * HDIF array of</a> -<a name="1038"><span class="lineNum"> 1038 </span> : : */</a> -<a name="1039"><span class="lineNum"> 1039 </span> : : #define SPPCIA_IDATA_THREAD_ARRAY 3</a> -<a name="1040"><span class="lineNum"> 1040 </span> : : </a> -<a name="1041"><span class="lineNum"> 1041 </span> : : struct sppcia_cpu_thread {</a> -<a name="1042"><span class="lineNum"> 1042 </span> : : __be32 proc_int_line;</a> -<a name="1043"><span class="lineNum"> 1043 </span> : : __be32 phys_thread_id;</a> -<a name="1044"><span class="lineNum"> 1044 </span> : : __be64 ibase;</a> -<a name="1045"><span class="lineNum"> 1045 </span> : : __be32 pir;</a> -<a name="1046"><span class="lineNum"> 1046 </span> : : } __packed;</a> -<a name="1047"><span class="lineNum"> 1047 </span> : : </a> -<a name="1048"><span class="lineNum"> 1048 </span> : : /* Idata index 4 : CPU Attributes */</a> -<a name="1049"><span class="lineNum"> 1049 </span> : : #define SPPCIA_IDATA_CPU_ATTR 4</a> -<a name="1050"><span class="lineNum"> 1050 </span> : : </a> -<a name="1051"><span class="lineNum"> 1051 </span> : : struct sppcia_cpu_attr {</a> -<a name="1052"><span class="lineNum"> 1052 </span> : : #define CPU_ATTR_UNIFIED_PL1 0x80</a> -<a name="1053"><span class="lineNum"> 1053 </span> : : #define CPU_ATTR_SPLIT_TLB 0x40</a> -<a name="1054"><span class="lineNum"> 1054 </span> : : #define CPU_ATTR_TLBIA 0x20</a> -<a name="1055"><span class="lineNum"> 1055 </span> : : #define CPU_ATTR_PERF_MONITOR 0x10</a> -<a name="1056"><span class="lineNum"> 1056 </span> : : #define CPU_ATTR_EXTERN_CONT 0x02</a> -<a name="1057"><span class="lineNum"> 1057 </span> : : __be32 attr;</a> -<a name="1058"><span class="lineNum"> 1058 </span> : : } __packed;</a> -<a name="1059"><span class="lineNum"> 1059 </span> : : </a> -<a name="1060"><span class="lineNum"> 1060 </span> : : /*</a> -<a name="1061"><span class="lineNum"> 1061 </span> : : * Processor Chip Related Data. The SPIRA contain an array of these, one</a> -<a name="1062"><span class="lineNum"> 1062 </span> : : * per chip</a> -<a name="1063"><span class="lineNum"> 1063 </span> : : */</a> -<a name="1064"><span class="lineNum"> 1064 </span> : : #define SPPCRD_HDIF_SIG "SPPCRD"</a> +<a name="1011"><span class="lineNum"> 1011 </span> : : /* Idata index 0 : Chip info */</a> +<a name="1012"><span class="lineNum"> 1012 </span> : : #define SPPCRD_IDATA_CHIP_INFO 0</a> +<a name="1013"><span class="lineNum"> 1013 </span> : : </a> +<a name="1014"><span class="lineNum"> 1014 </span> : : struct sppcrd_chip_info {</a> +<a name="1015"><span class="lineNum"> 1015 </span> : : __be32 proc_chip_id;</a> +<a name="1016"><span class="lineNum"> 1016 </span> : : __be32 verif_exist_flags;</a> +<a name="1017"><span class="lineNum"> 1017 </span> : : #define CHIP_VERIFY_MASK 0xC0000000</a> +<a name="1018"><span class="lineNum"> 1018 </span> : : #define CHIP_VERIFY_SHIFT 30</a> +<a name="1019"><span class="lineNum"> 1019 </span> : : #define CHIP_VERIFY_USABLE_NO_FAILURES 0</a> +<a name="1020"><span class="lineNum"> 1020 </span> : : #define CHIP_VERIFY_USABLE_FAILURES 1</a> +<a name="1021"><span class="lineNum"> 1021 </span> : : #define CHIP_VERIFY_NOT_INSTALLED 2</a> +<a name="1022"><span class="lineNum"> 1022 </span> : : #define CHIP_VERIFY_UNUSABLE 3</a> +<a name="1023"><span class="lineNum"> 1023 </span> : : #define CHIP_VERIFY_MASTER_PROC PPC_BIT32(4)</a> +<a name="1024"><span class="lineNum"> 1024 </span> : : __be32 nx_state;</a> +<a name="1025"><span class="lineNum"> 1025 </span> : : __be32 pore_state;</a> +<a name="1026"><span class="lineNum"> 1026 </span> : : __be32 xscom_id;</a> +<a name="1027"><span class="lineNum"> 1027 </span> : : /* Version 0xA */</a> +<a name="1028"><span class="lineNum"> 1028 </span> : : __be32 reserved;</a> +<a name="1029"><span class="lineNum"> 1029 </span> : : __be32 dbob_id;</a> +<a name="1030"><span class="lineNum"> 1030 </span> : : __be32 occ_state;</a> +<a name="1031"><span class="lineNum"> 1031 </span> : : /* Version 0xC - none of these are used */</a> +<a name="1032"><span class="lineNum"> 1032 </span> : : __be32 processor_fru_id;</a> +<a name="1033"><span class="lineNum"> 1033 </span> : : __be32 chip_ec_level;</a> +<a name="1034"><span class="lineNum"> 1034 </span> : : __be32 hw_module_id;</a> +<a name="1035"><span class="lineNum"> 1035 </span> : : __be32 hw_card_id;</a> +<a name="1036"><span class="lineNum"> 1036 </span> : : __be32 internal_drawer_nid;</a> +<a name="1037"><span class="lineNum"> 1037 </span> : : __be32 ccm_nid;</a> +<a name="1038"><span class="lineNum"> 1038 </span> : : /* Version 0xD */</a> +<a name="1039"><span class="lineNum"> 1039 </span> : : __be32 capp0_func_state;</a> +<a name="1040"><span class="lineNum"> 1040 </span> : : /* Version 0xE */</a> +<a name="1041"><span class="lineNum"> 1041 </span> : : __be32 capp1_func_state;</a> +<a name="1042"><span class="lineNum"> 1042 </span> : : /* *possibly* from Version 0x20 - check spec */</a> +<a name="1043"><span class="lineNum"> 1043 </span> : : __be32 stop_levels;</a> +<a name="1044"><span class="lineNum"> 1044 </span> : : /* From latest version (possibly 0x21 and later) */</a> +<a name="1045"><span class="lineNum"> 1045 </span> : : __be32 sw_xstop_fir_scom;</a> +<a name="1046"><span class="lineNum"> 1046 </span> : : uint8_t sw_xstop_fir_bitpos;</a> +<a name="1047"><span class="lineNum"> 1047 </span> : : /* Latest version for P10 */</a> +<a name="1048"><span class="lineNum"> 1048 </span> : : #define CHIP_MAX_TOPOLOGY_ENTRIES 32</a> +<a name="1049"><span class="lineNum"> 1049 </span> : : uint8_t topology_id_table[CHIP_MAX_TOPOLOGY_ENTRIES];</a> +<a name="1050"><span class="lineNum"> 1050 </span> : : uint8_t primary_topology_loc; /* Index in topology_id_table */</a> +<a name="1051"><span class="lineNum"> 1051 </span> : : __be32 abc_bus_speed; /* SMP A */</a> +<a name="1052"><span class="lineNum"> 1052 </span> : : __be32 wxyz_bus_speed; /* SMP X */</a> +<a name="1053"><span class="lineNum"> 1053 </span> : : uint8_t fab_topology_id;/* topology id associated with the chip. */</a> +<a name="1054"><span class="lineNum"> 1054 </span> : : } __packed;</a> +<a name="1055"><span class="lineNum"> 1055 </span> : : </a> +<a name="1056"><span class="lineNum"> 1056 </span> : : /* Idata index 1 : Chip TOD */</a> +<a name="1057"><span class="lineNum"> 1057 </span> : : #define SPPCRD_IDATA_CHIP_TOD 1</a> +<a name="1058"><span class="lineNum"> 1058 </span> : : </a> +<a name="1059"><span class="lineNum"> 1059 </span> : : struct sppcrd_chip_tod {</a> +<a name="1060"><span class="lineNum"> 1060 </span> : : __be32 flags;</a> +<a name="1061"><span class="lineNum"> 1061 </span> : : /* CHIPTOD_ID_... values */</a> +<a name="1062"><span class="lineNum"> 1062 </span> : : __be32 ctrl_reg_internal;</a> +<a name="1063"><span class="lineNum"> 1063 </span> : : __be32 tod_ctrl_reg;</a> +<a name="1064"><span class="lineNum"> 1064 </span> : : } __packed;</a> <a name="1065"><span class="lineNum"> 1065 </span> : : </a> -<a name="1066"><span class="lineNum"> 1066 </span> : : /* Idata index 0 : Chip info */</a> -<a name="1067"><span class="lineNum"> 1067 </span> : : #define SPPCRD_IDATA_CHIP_INFO 0</a> +<a name="1066"><span class="lineNum"> 1066 </span> : : /* Idata index 2 : FRU ID */</a> +<a name="1067"><span class="lineNum"> 1067 </span> : : #define SPPCRD_IDATA_FRU_ID 2</a> <a name="1068"><span class="lineNum"> 1068 </span> : : </a> -<a name="1069"><span class="lineNum"> 1069 </span> : : struct sppcrd_chip_info {</a> -<a name="1070"><span class="lineNum"> 1070 </span> : : __be32 proc_chip_id;</a> -<a name="1071"><span class="lineNum"> 1071 </span> : : __be32 verif_exist_flags;</a> -<a name="1072"><span class="lineNum"> 1072 </span> : : #define CHIP_VERIFY_MASK 0xC0000000</a> -<a name="1073"><span class="lineNum"> 1073 </span> : : #define CHIP_VERIFY_SHIFT 30</a> -<a name="1074"><span class="lineNum"> 1074 </span> : : #define CHIP_VERIFY_USABLE_NO_FAILURES 0</a> -<a name="1075"><span class="lineNum"> 1075 </span> : : #define CHIP_VERIFY_USABLE_FAILURES 1</a> -<a name="1076"><span class="lineNum"> 1076 </span> : : #define CHIP_VERIFY_NOT_INSTALLED 2</a> -<a name="1077"><span class="lineNum"> 1077 </span> : : #define CHIP_VERIFY_UNUSABLE 3</a> -<a name="1078"><span class="lineNum"> 1078 </span> : : #define CHIP_VERIFY_MASTER_PROC PPC_BIT32(4)</a> -<a name="1079"><span class="lineNum"> 1079 </span> : : __be32 nx_state;</a> -<a name="1080"><span class="lineNum"> 1080 </span> : : __be32 pore_state;</a> -<a name="1081"><span class="lineNum"> 1081 </span> : : __be32 xscom_id;</a> -<a name="1082"><span class="lineNum"> 1082 </span> : : /* Version 0xA */</a> -<a name="1083"><span class="lineNum"> 1083 </span> : : __be32 reserved;</a> -<a name="1084"><span class="lineNum"> 1084 </span> : : __be32 dbob_id;</a> -<a name="1085"><span class="lineNum"> 1085 </span> : : __be32 occ_state;</a> -<a name="1086"><span class="lineNum"> 1086 </span> : : /* Version 0xC - none of these are used */</a> -<a name="1087"><span class="lineNum"> 1087 </span> : : __be32 processor_fru_id;</a> -<a name="1088"><span class="lineNum"> 1088 </span> : : __be32 chip_ec_level;</a> -<a name="1089"><span class="lineNum"> 1089 </span> : : __be32 hw_module_id;</a> -<a name="1090"><span class="lineNum"> 1090 </span> : : __be32 hw_card_id;</a> -<a name="1091"><span class="lineNum"> 1091 </span> : : __be32 internal_drawer_nid;</a> -<a name="1092"><span class="lineNum"> 1092 </span> : : __be32 ccm_nid;</a> -<a name="1093"><span class="lineNum"> 1093 </span> : : /* Version 0xD */</a> -<a name="1094"><span class="lineNum"> 1094 </span> : : __be32 capp0_func_state;</a> -<a name="1095"><span class="lineNum"> 1095 </span> : : /* Version 0xE */</a> -<a name="1096"><span class="lineNum"> 1096 </span> : : __be32 capp1_func_state;</a> -<a name="1097"><span class="lineNum"> 1097 </span> : : /* *possibly* from Version 0x20 - check spec */</a> -<a name="1098"><span class="lineNum"> 1098 </span> : : __be32 stop_levels;</a> -<a name="1099"><span class="lineNum"> 1099 </span> : : /* From latest version (possibly 0x21 and later) */</a> -<a name="1100"><span class="lineNum"> 1100 </span> : : __be32 sw_xstop_fir_scom;</a> -<a name="1101"><span class="lineNum"> 1101 </span> : : uint8_t sw_xstop_fir_bitpos;</a> -<a name="1102"><span class="lineNum"> 1102 </span> : : /* Latest version for P10 */</a> -<a name="1103"><span class="lineNum"> 1103 </span> : : #define CHIP_MAX_TOPOLOGY_ENTRIES 32</a> -<a name="1104"><span class="lineNum"> 1104 </span> : : uint8_t topology_id_table[CHIP_MAX_TOPOLOGY_ENTRIES];</a> -<a name="1105"><span class="lineNum"> 1105 </span> : : uint8_t primary_topology_loc; /* Index in topology_id_table */</a> -<a name="1106"><span class="lineNum"> 1106 </span> : : __be32 abc_bus_speed; /* SMP A */</a> -<a name="1107"><span class="lineNum"> 1107 </span> : : __be32 wxyz_bus_speed; /* SMP X */</a> -<a name="1108"><span class="lineNum"> 1108 </span> : : uint8_t fab_topology_id;/* topology id associated with the chip. */</a> +<a name="1069"><span class="lineNum"> 1069 </span> : : /* Idata index 3 : ASCII Keyword data */</a> +<a name="1070"><span class="lineNum"> 1070 </span> : : #define SPPCRD_IDATA_KW_VPD 3</a> +<a name="1071"><span class="lineNum"> 1071 </span> : : </a> +<a name="1072"><span class="lineNum"> 1072 </span> : : /* Idata index 4 : Module VPD */</a> +<a name="1073"><span class="lineNum"> 1073 </span> : : #define SPPCRD_IDATA_MODULE_VPD 4</a> +<a name="1074"><span class="lineNum"> 1074 </span> : : </a> +<a name="1075"><span class="lineNum"> 1075 </span> : : /* Idata index 5 : Chip attached I2C devices */</a> +<a name="1076"><span class="lineNum"> 1076 </span> : : #define SPPCRD_IDATA_HOST_I2C 5</a> +<a name="1077"><span class="lineNum"> 1077 </span> : : </a> +<a name="1078"><span class="lineNum"> 1078 </span> : : /* Idata index 5 : Chip attached I2C devices */</a> +<a name="1079"><span class="lineNum"> 1079 </span> : : #define SPPCRD_IDATA_PNOR 6</a> +<a name="1080"><span class="lineNum"> 1080 </span> : : </a> +<a name="1081"><span class="lineNum"> 1081 </span> : : /* Idata index 6 : OpenCAPI/NVlink info */</a> +<a name="1082"><span class="lineNum"> 1082 </span> : : #define SPPCRD_IDATA_SMP_LINK 7</a> +<a name="1083"><span class="lineNum"> 1083 </span> : : struct sppcrd_smp_link {</a> +<a name="1084"><span class="lineNum"> 1084 </span> : : __be32 link_id;</a> +<a name="1085"><span class="lineNum"> 1085 </span> : : __be32 usage;</a> +<a name="1086"><span class="lineNum"> 1086 </span> : : #define SMP_LINK_USE_NONE 0</a> +<a name="1087"><span class="lineNum"> 1087 </span> : : #define SMP_LINK_USE_GPU 1</a> +<a name="1088"><span class="lineNum"> 1088 </span> : : #define SMP_LINK_USE_OPENCAPI 2</a> +<a name="1089"><span class="lineNum"> 1089 </span> : : #define SMP_LINK_USE_INTERPOSER 3</a> +<a name="1090"><span class="lineNum"> 1090 </span> : : #define SMP_LINK_USE_DRAWER 4</a> +<a name="1091"><span class="lineNum"> 1091 </span> : : #define SMP_LINK_USE_D2D 5 /* GPU to GPU */</a> +<a name="1092"><span class="lineNum"> 1092 </span> : : __be32 brick_id;</a> +<a name="1093"><span class="lineNum"> 1093 </span> : : __be32 lane_mask;</a> +<a name="1094"><span class="lineNum"> 1094 </span> : : </a> +<a name="1095"><span class="lineNum"> 1095 </span> : : /* bonded pci slots (mostly a NVLink thing) */</a> +<a name="1096"><span class="lineNum"> 1096 </span> : : __be16 pci_slot_idx;</a> +<a name="1097"><span class="lineNum"> 1097 </span> : : __be16 pci_sideband_slot_idx;</a> +<a name="1098"><span class="lineNum"> 1098 </span> : : </a> +<a name="1099"><span class="lineNum"> 1099 </span> : : __be16 slca_idx; /* SLCA index of the *external* port */</a> +<a name="1100"><span class="lineNum"> 1100 </span> : : __be16 opt_id;</a> +<a name="1101"><span class="lineNum"> 1101 </span> : : </a> +<a name="1102"><span class="lineNum"> 1102 </span> : : /* nvlink/ocapi detection devices */</a> +<a name="1103"><span class="lineNum"> 1103 </span> : : __be32 i2c_link_cable;</a> +<a name="1104"><span class="lineNum"> 1104 </span> : : __be32 i2c_presence;</a> +<a name="1105"><span class="lineNum"> 1105 </span> : : __be32 i2c_micro;</a> +<a name="1106"><span class="lineNum"> 1106 </span> : : uint8_t link_speed;</a> +<a name="1107"><span class="lineNum"> 1107 </span> : : uint8_t occ_flag_bit;</a> +<a name="1108"><span class="lineNum"> 1108 </span> : : __be16 gpu_slca;</a> <a name="1109"><span class="lineNum"> 1109 </span> : : } __packed;</a> <a name="1110"><span class="lineNum"> 1110 </span> : : </a> -<a name="1111"><span class="lineNum"> 1111 </span> : : /* Idata index 1 : Chip TOD */</a> -<a name="1112"><span class="lineNum"> 1112 </span> : : #define SPPCRD_IDATA_CHIP_TOD 1</a> +<a name="1111"><span class="lineNum"> 1111 </span> : : /* Idata index 8 : chip EC Level array */</a> +<a name="1112"><span class="lineNum"> 1112 </span> : : #define SPPCRD_IDATA_EC_LEVEL 8</a> <a name="1113"><span class="lineNum"> 1113 </span> : : </a> -<a name="1114"><span class="lineNum"> 1114 </span> : : struct sppcrd_chip_tod {</a> -<a name="1115"><span class="lineNum"> 1115 </span> : : __be32 flags;</a> -<a name="1116"><span class="lineNum"> 1116 </span> : : /* CHIPTOD_ID_... values */</a> -<a name="1117"><span class="lineNum"> 1117 </span> : : __be32 ctrl_reg_internal;</a> -<a name="1118"><span class="lineNum"> 1118 </span> : : __be32 tod_ctrl_reg;</a> +<a name="1114"><span class="lineNum"> 1114 </span> : : struct sppcrd_ecid {</a> +<a name="1115"><span class="lineNum"> 1115 </span> : : __be32 chip_id;</a> +<a name="1116"><span class="lineNum"> 1116 </span> : : __be32 ec_level;</a> +<a name="1117"><span class="lineNum"> 1117 </span> : : __be64 low; /* Processor ECID bit 0-63 */</a> +<a name="1118"><span class="lineNum"> 1118 </span> : : __be64 high; /* Processor ECID bit 64-127 */</a> <a name="1119"><span class="lineNum"> 1119 </span> : : } __packed;</a> <a name="1120"><span class="lineNum"> 1120 </span> : : </a> -<a name="1121"><span class="lineNum"> 1121 </span> : : /* Idata index 2 : FRU ID */</a> -<a name="1122"><span class="lineNum"> 1122 </span> : : #define SPPCRD_IDATA_FRU_ID 2</a> -<a name="1123"><span class="lineNum"> 1123 </span> : : </a> -<a name="1124"><span class="lineNum"> 1124 </span> : : /* Idata index 3 : ASCII Keyword data */</a> -<a name="1125"><span class="lineNum"> 1125 </span> : : #define SPPCRD_IDATA_KW_VPD 3</a> -<a name="1126"><span class="lineNum"> 1126 </span> : : </a> -<a name="1127"><span class="lineNum"> 1127 </span> : : /* Idata index 4 : Module VPD */</a> -<a name="1128"><span class="lineNum"> 1128 </span> : : #define SPPCRD_IDATA_MODULE_VPD 4</a> -<a name="1129"><span class="lineNum"> 1129 </span> : : </a> -<a name="1130"><span class="lineNum"> 1130 </span> : : /* Idata index 5 : Chip attached I2C devices */</a> -<a name="1131"><span class="lineNum"> 1131 </span> : : #define SPPCRD_IDATA_HOST_I2C 5</a> -<a name="1132"><span class="lineNum"> 1132 </span> : : </a> -<a name="1133"><span class="lineNum"> 1133 </span> : : /* Idata index 5 : Chip attached I2C devices */</a> -<a name="1134"><span class="lineNum"> 1134 </span> : : #define SPPCRD_IDATA_PNOR 6</a> -<a name="1135"><span class="lineNum"> 1135 </span> : : </a> -<a name="1136"><span class="lineNum"> 1136 </span> : : /* Idata index 6 : OpenCAPI/NVlink info */</a> -<a name="1137"><span class="lineNum"> 1137 </span> : : #define SPPCRD_IDATA_SMP_LINK 7</a> -<a name="1138"><span class="lineNum"> 1138 </span> : : struct sppcrd_smp_link {</a> -<a name="1139"><span class="lineNum"> 1139 </span> : : __be32 link_id;</a> -<a name="1140"><span class="lineNum"> 1140 </span> : : __be32 usage;</a> -<a name="1141"><span class="lineNum"> 1141 </span> : : #define SMP_LINK_USE_NONE 0</a> -<a name="1142"><span class="lineNum"> 1142 </span> : : #define SMP_LINK_USE_GPU 1</a> -<a name="1143"><span class="lineNum"> 1143 </span> : : #define SMP_LINK_USE_OPENCAPI 2</a> -<a name="1144"><span class="lineNum"> 1144 </span> : : #define SMP_LINK_USE_INTERPOSER 3</a> -<a name="1145"><span class="lineNum"> 1145 </span> : : #define SMP_LINK_USE_DRAWER 4</a> -<a name="1146"><span class="lineNum"> 1146 </span> : : #define SMP_LINK_USE_D2D 5 /* GPU to GPU */</a> -<a name="1147"><span class="lineNum"> 1147 </span> : : __be32 brick_id;</a> -<a name="1148"><span class="lineNum"> 1148 </span> : : __be32 lane_mask;</a> -<a name="1149"><span class="lineNum"> 1149 </span> : : </a> -<a name="1150"><span class="lineNum"> 1150 </span> : : /* bonded pci slots (mostly a NVLink thing) */</a> -<a name="1151"><span class="lineNum"> 1151 </span> : : __be16 pci_slot_idx;</a> -<a name="1152"><span class="lineNum"> 1152 </span> : : __be16 pci_sideband_slot_idx;</a> -<a name="1153"><span class="lineNum"> 1153 </span> : : </a> -<a name="1154"><span class="lineNum"> 1154 </span> : : __be16 slca_idx; /* SLCA index of the *external* port */</a> -<a name="1155"><span class="lineNum"> 1155 </span> : : __be16 opt_id;</a> -<a name="1156"><span class="lineNum"> 1156 </span> : : </a> -<a name="1157"><span class="lineNum"> 1157 </span> : : /* nvlink/ocapi detection devices */</a> -<a name="1158"><span class="lineNum"> 1158 </span> : : __be32 i2c_link_cable;</a> -<a name="1159"><span class="lineNum"> 1159 </span> : : __be32 i2c_presence;</a> -<a name="1160"><span class="lineNum"> 1160 </span> : : __be32 i2c_micro;</a> -<a name="1161"><span class="lineNum"> 1161 </span> : : uint8_t link_speed;</a> -<a name="1162"><span class="lineNum"> 1162 </span> : : uint8_t occ_flag_bit;</a> -<a name="1163"><span class="lineNum"> 1163 </span> : : __be16 gpu_slca;</a> -<a name="1164"><span class="lineNum"> 1164 </span> : : } __packed;</a> -<a name="1165"><span class="lineNum"> 1165 </span> : : </a> -<a name="1166"><span class="lineNum"> 1166 </span> : : /* Idata index 8 : chip EC Level array */</a> -<a name="1167"><span class="lineNum"> 1167 </span> : : #define SPPCRD_IDATA_EC_LEVEL 8</a> -<a name="1168"><span class="lineNum"> 1168 </span> : : </a> -<a name="1169"><span class="lineNum"> 1169 </span> : : struct sppcrd_ecid {</a> -<a name="1170"><span class="lineNum"> 1170 </span> : : __be32 chip_id;</a> -<a name="1171"><span class="lineNum"> 1171 </span> : : __be32 ec_level;</a> -<a name="1172"><span class="lineNum"> 1172 </span> : : __be64 low; /* Processor ECID bit 0-63 */</a> -<a name="1173"><span class="lineNum"> 1173 </span> : : __be64 high; /* Processor ECID bit 64-127 */</a> -<a name="1174"><span class="lineNum"> 1174 </span> : : } __packed;</a> -<a name="1175"><span class="lineNum"> 1175 </span> : : </a> -<a name="1176"><span class="lineNum"> 1176 </span> : : /*</a> -<a name="1177"><span class="lineNum"> 1177 </span> : : * Host Services Data.</a> -<a name="1178"><span class="lineNum"> 1178 </span> : : */</a> -<a name="1179"><span class="lineNum"> 1179 </span> : : #define HSERV_HDIF_SIG "HOSTSR"</a> -<a name="1180"><span class="lineNum"> 1180 </span> : : </a> -<a name="1181"><span class="lineNum"> 1181 </span> : : /* Idata index 0 : System attribute data */</a> -<a name="1182"><span class="lineNum"> 1182 </span> : : #define HSERV_IDATA_SYS_ATTR 0</a> +<a name="1121"><span class="lineNum"> 1121 </span> : : /*</a> +<a name="1122"><span class="lineNum"> 1122 </span> : : * Host Services Data.</a> +<a name="1123"><span class="lineNum"> 1123 </span> : : */</a> +<a name="1124"><span class="lineNum"> 1124 </span> : : #define HSERV_HDIF_SIG "HOSTSR"</a> +<a name="1125"><span class="lineNum"> 1125 </span> : : </a> +<a name="1126"><span class="lineNum"> 1126 </span> : : /* Idata index 0 : System attribute data */</a> +<a name="1127"><span class="lineNum"> 1127 </span> : : #define HSERV_IDATA_SYS_ATTR 0</a> +<a name="1128"><span class="lineNum"> 1128 </span> : : </a> +<a name="1129"><span class="lineNum"> 1129 </span> : : /* IPMI sensors mapping data */</a> +<a name="1130"><span class="lineNum"> 1130 </span> : : #define IPMI_SENSORS_HDIF_SIG "FRUSE "</a> +<a name="1131"><span class="lineNum"> 1131 </span> : : </a> +<a name="1132"><span class="lineNum"> 1132 </span> : : /* Idata index 0 : Sensor mapping data */</a> +<a name="1133"><span class="lineNum"> 1133 </span> : : #define IPMI_SENSORS_IDATA_SENSORS 0</a> +<a name="1134"><span class="lineNum"> 1134 </span> : : </a> +<a name="1135"><span class="lineNum"> 1135 </span> : : struct ipmi_sensors_data {</a> +<a name="1136"><span class="lineNum"> 1136 </span> : : __be32 slca_index;</a> +<a name="1137"><span class="lineNum"> 1137 </span> : : uint8_t type;</a> +<a name="1138"><span class="lineNum"> 1138 </span> : : uint8_t id;</a> +<a name="1139"><span class="lineNum"> 1139 </span> : : uint8_t entity_id;</a> +<a name="1140"><span class="lineNum"> 1140 </span> : : uint8_t reserved;</a> +<a name="1141"><span class="lineNum"> 1141 </span> : : } __packed;</a> +<a name="1142"><span class="lineNum"> 1142 </span> : : </a> +<a name="1143"><span class="lineNum"> 1143 </span> : : struct ipmi_sensors {</a> +<a name="1144"><span class="lineNum"> 1144 </span> : : __be32 count;</a> +<a name="1145"><span class="lineNum"> 1145 </span> : : struct ipmi_sensors_data data[];</a> +<a name="1146"><span class="lineNum"> 1146 </span> : : } __packed;</a> +<a name="1147"><span class="lineNum"> 1147 </span> : : </a> +<a name="1148"><span class="lineNum"> 1148 </span> : : /* Idata index 1 : LED - sensors ID mapping data */</a> +<a name="1149"><span class="lineNum"> 1149 </span> : : #define IPMI_SENSORS_IDATA_LED 1</a> +<a name="1150"><span class="lineNum"> 1150 </span> : : </a> +<a name="1151"><span class="lineNum"> 1151 </span> : : /*</a> +<a name="1152"><span class="lineNum"> 1152 </span> : : * Node Secure and Trusted Boot Related Data</a> +<a name="1153"><span class="lineNum"> 1153 </span> : : */</a> +<a name="1154"><span class="lineNum"> 1154 </span> : : #define STB_HDIF_SIG "TPMREL"</a> +<a name="1155"><span class="lineNum"> 1155 </span> : : </a> +<a name="1156"><span class="lineNum"> 1156 </span> : : /*</a> +<a name="1157"><span class="lineNum"> 1157 </span> : : * Idata index 0 : Secure Boot and TPM Instance Info</a> +<a name="1158"><span class="lineNum"> 1158 </span> : : *</a> +<a name="1159"><span class="lineNum"> 1159 </span> : : * There can be multiple entries with each entry corresponding to</a> +<a name="1160"><span class="lineNum"> 1160 </span> : : * a master processor that has a TPM device</a> +<a name="1161"><span class="lineNum"> 1161 </span> : : */</a> +<a name="1162"><span class="lineNum"> 1162 </span> : : #define TPMREL_IDATA_SECUREBOOT_TPM_INFO 0</a> +<a name="1163"><span class="lineNum"> 1163 </span> : : </a> +<a name="1164"><span class="lineNum"> 1164 </span> : : struct secureboot_tpm_info {</a> +<a name="1165"><span class="lineNum"> 1165 </span> : : __be32 chip_id;</a> +<a name="1166"><span class="lineNum"> 1166 </span> : : __be32 dbob_id;</a> +<a name="1167"><span class="lineNum"> 1167 </span> : : uint8_t locality1;</a> +<a name="1168"><span class="lineNum"> 1168 </span> : : uint8_t locality2;</a> +<a name="1169"><span class="lineNum"> 1169 </span> : : uint8_t locality3;</a> +<a name="1170"><span class="lineNum"> 1170 </span> : : uint8_t locality4;</a> +<a name="1171"><span class="lineNum"> 1171 </span> : : #define TPM_PRESENT_AND_FUNCTIONAL 0x01</a> +<a name="1172"><span class="lineNum"> 1172 </span> : : #define TPM_PRESENT_AND_NOT_FUNCTIONAL 0x02</a> +<a name="1173"><span class="lineNum"> 1173 </span> : : #define TPM_NOT_PRESENT 0x03</a> +<a name="1174"><span class="lineNum"> 1174 </span> : : uint8_t tpm_status;</a> +<a name="1175"><span class="lineNum"> 1175 </span> : : uint8_t reserved[3];</a> +<a name="1176"><span class="lineNum"> 1176 </span> : : /* zero indicates no tpm log data */</a> +<a name="1177"><span class="lineNum"> 1177 </span> : : __be32 srtm_log_offset;</a> +<a name="1178"><span class="lineNum"> 1178 </span> : : __be32 srtm_log_size;</a> +<a name="1179"><span class="lineNum"> 1179 </span> : : /* zero indicates no tpm log data */</a> +<a name="1180"><span class="lineNum"> 1180 </span> : : __be32 drtm_log_offset;</a> +<a name="1181"><span class="lineNum"> 1181 </span> : : __be32 drtm_log_size;</a> +<a name="1182"><span class="lineNum"> 1182 </span> : : } __packed;</a> <a name="1183"><span class="lineNum"> 1183 </span> : : </a> -<a name="1184"><span class="lineNum"> 1184 </span> : : /* IPMI sensors mapping data */</a> -<a name="1185"><span class="lineNum"> 1185 </span> : : #define IPMI_SENSORS_HDIF_SIG "FRUSE "</a> +<a name="1184"><span class="lineNum"> 1184 </span> : : /* Idata index 2: Hash and Verification Function Offsets Array */</a> +<a name="1185"><span class="lineNum"> 1185 </span> : : #define TPMREL_IDATA_HASH_VERIF_OFFSETS 2</a> <a name="1186"><span class="lineNum"> 1186 </span> : : </a> -<a name="1187"><span class="lineNum"> 1187 </span> : : /* Idata index 0 : Sensor mapping data */</a> -<a name="1188"><span class="lineNum"> 1188 </span> : : #define IPMI_SENSORS_IDATA_SENSORS 0</a> -<a name="1189"><span class="lineNum"> 1189 </span> : : </a> -<a name="1190"><span class="lineNum"> 1190 </span> : : struct ipmi_sensors_data {</a> -<a name="1191"><span class="lineNum"> 1191 </span> : : __be32 slca_index;</a> -<a name="1192"><span class="lineNum"> 1192 </span> : : uint8_t type;</a> -<a name="1193"><span class="lineNum"> 1193 </span> : : uint8_t id;</a> -<a name="1194"><span class="lineNum"> 1194 </span> : : uint8_t entity_id;</a> -<a name="1195"><span class="lineNum"> 1195 </span> : : uint8_t reserved;</a> -<a name="1196"><span class="lineNum"> 1196 </span> : : } __packed;</a> -<a name="1197"><span class="lineNum"> 1197 </span> : : </a> -<a name="1198"><span class="lineNum"> 1198 </span> : : struct ipmi_sensors {</a> -<a name="1199"><span class="lineNum"> 1199 </span> : : __be32 count;</a> -<a name="1200"><span class="lineNum"> 1200 </span> : : struct ipmi_sensors_data data[];</a> -<a name="1201"><span class="lineNum"> 1201 </span> : : } __packed;</a> -<a name="1202"><span class="lineNum"> 1202 </span> : : </a> -<a name="1203"><span class="lineNum"> 1203 </span> : : /* Idata index 1 : LED - sensors ID mapping data */</a> -<a name="1204"><span class="lineNum"> 1204 </span> : : #define IPMI_SENSORS_IDATA_LED 1</a> -<a name="1205"><span class="lineNum"> 1205 </span> : : </a> -<a name="1206"><span class="lineNum"> 1206 </span> : : /*</a> -<a name="1207"><span class="lineNum"> 1207 </span> : : * Node Secure and Trusted Boot Related Data</a> -<a name="1208"><span class="lineNum"> 1208 </span> : : */</a> -<a name="1209"><span class="lineNum"> 1209 </span> : : #define STB_HDIF_SIG "TPMREL"</a> -<a name="1210"><span class="lineNum"> 1210 </span> : : </a> -<a name="1211"><span class="lineNum"> 1211 </span> : : /*</a> -<a name="1212"><span class="lineNum"> 1212 </span> : : * Idata index 0 : Secure Boot and TPM Instance Info</a> -<a name="1213"><span class="lineNum"> 1213 </span> : : *</a> -<a name="1214"><span class="lineNum"> 1214 </span> : : * There can be multiple entries with each entry corresponding to</a> -<a name="1215"><span class="lineNum"> 1215 </span> : : * a master processor that has a TPM device</a> -<a name="1216"><span class="lineNum"> 1216 </span> : : */</a> -<a name="1217"><span class="lineNum"> 1217 </span> : : #define TPMREL_IDATA_SECUREBOOT_TPM_INFO 0</a> -<a name="1218"><span class="lineNum"> 1218 </span> : : </a> -<a name="1219"><span class="lineNum"> 1219 </span> : : struct secureboot_tpm_info {</a> -<a name="1220"><span class="lineNum"> 1220 </span> : : __be32 chip_id;</a> -<a name="1221"><span class="lineNum"> 1221 </span> : : __be32 dbob_id;</a> -<a name="1222"><span class="lineNum"> 1222 </span> : : uint8_t locality1;</a> -<a name="1223"><span class="lineNum"> 1223 </span> : : uint8_t locality2;</a> -<a name="1224"><span class="lineNum"> 1224 </span> : : uint8_t locality3;</a> -<a name="1225"><span class="lineNum"> 1225 </span> : : uint8_t locality4;</a> -<a name="1226"><span class="lineNum"> 1226 </span> : : #define TPM_PRESENT_AND_FUNCTIONAL 0x01</a> -<a name="1227"><span class="lineNum"> 1227 </span> : : #define TPM_PRESENT_AND_NOT_FUNCTIONAL 0x02</a> -<a name="1228"><span class="lineNum"> 1228 </span> : : #define TPM_NOT_PRESENT 0x03</a> -<a name="1229"><span class="lineNum"> 1229 </span> : : uint8_t tpm_status;</a> -<a name="1230"><span class="lineNum"> 1230 </span> : : uint8_t reserved[3];</a> -<a name="1231"><span class="lineNum"> 1231 </span> : : /* zero indicates no tpm log data */</a> -<a name="1232"><span class="lineNum"> 1232 </span> : : __be32 srtm_log_offset;</a> -<a name="1233"><span class="lineNum"> 1233 </span> : : __be32 srtm_log_size;</a> -<a name="1234"><span class="lineNum"> 1234 </span> : : /* zero indicates no tpm log data */</a> -<a name="1235"><span class="lineNum"> 1235 </span> : : __be32 drtm_log_offset;</a> -<a name="1236"><span class="lineNum"> 1236 </span> : : __be32 drtm_log_size;</a> -<a name="1237"><span class="lineNum"> 1237 </span> : : } __packed;</a> -<a name="1238"><span class="lineNum"> 1238 </span> : : </a> -<a name="1239"><span class="lineNum"> 1239 </span> : : /* Idata index 2: Hash and Verification Function Offsets Array */</a> -<a name="1240"><span class="lineNum"> 1240 </span> : : #define TPMREL_IDATA_HASH_VERIF_OFFSETS 2</a> -<a name="1241"><span class="lineNum"> 1241 </span> : : </a> -<a name="1242"><span class="lineNum"> 1242 </span> : : struct hash_and_verification {</a> -<a name="1243"><span class="lineNum"> 1243 </span> : : #define TPMREL_HV_SHA512 0x00</a> -<a name="1244"><span class="lineNum"> 1244 </span> : : #define TPMREL_HV_VERIFY 0x01</a> -<a name="1245"><span class="lineNum"> 1245 </span> : : __be32 type;</a> -<a name="1246"><span class="lineNum"> 1246 </span> : : __be32 version;</a> -<a name="1247"><span class="lineNum"> 1247 </span> : : __be32 dbob_id;</a> -<a name="1248"><span class="lineNum"> 1248 </span> : : __be32 offset;</a> -<a name="1249"><span class="lineNum"> 1249 </span> : : } __packed;</a> -<a name="1250"><span class="lineNum"> 1250 </span> : : </a> -<a name="1251"><span class="lineNum"> 1251 </span> :<span class="lineCov"> 26 : static inline const char *cpu_state(u32 flags)</span></a> -<a name="1252"><span class="lineNum"> 1252 </span> : : {</a> -<a name="1253"><span class="lineNum"> 1253 </span> :<span class="lineCov"> 26 : switch ((flags & CPU_ID_VERIFY_MASK) >> CPU_ID_VERIFY_SHIFT) {</span></a> -<a name="1254"><span class="lineNum"> 1254 </span> :<span class="lineCov"> 26 : case CPU_ID_VERIFY_USABLE_NO_FAILURES:</span></a> -<a name="1255"><span class="lineNum"> 1255 </span> :<span class="lineCov"> 26 : return "OK";</span></a> -<a name="1256"><span class="lineNum"> 1256 </span> :<span class="lineNoCov"> 0 : case CPU_ID_VERIFY_USABLE_FAILURES:</span></a> -<a name="1257"><span class="lineNum"> 1257 </span> :<span class="lineNoCov"> 0 : return "FAILURES";</span></a> -<a name="1258"><span class="lineNum"> 1258 </span> :<span class="lineNoCov"> 0 : case CPU_ID_VERIFY_NOT_INSTALLED:</span></a> -<a name="1259"><span class="lineNum"> 1259 </span> :<span class="lineNoCov"> 0 : return "NOT-INSTALLED";</span></a> -<a name="1260"><span class="lineNum"> 1260 </span> :<span class="lineNoCov"> 0 : case CPU_ID_VERIFY_UNUSABLE:</span></a> -<a name="1261"><span class="lineNum"> 1261 </span> :<span class="lineNoCov"> 0 : return "UNUSABLE";</span></a> -<a name="1262"><span class="lineNum"> 1262 </span> : : }</a> -<a name="1263"><span class="lineNum"> 1263 </span> :<span class="lineNoCov"> 0 : return "**UNKNOWN**";</span></a> -<a name="1264"><span class="lineNum"> 1264 </span> : : }</a> -<a name="1265"><span class="lineNum"> 1265 </span> : : #endif /* __SPIRA_H */</a> +<a name="1187"><span class="lineNum"> 1187 </span> : : struct hash_and_verification {</a> +<a name="1188"><span class="lineNum"> 1188 </span> : : #define TPMREL_HV_SHA512 0x00</a> +<a name="1189"><span class="lineNum"> 1189 </span> : : #define TPMREL_HV_VERIFY 0x01</a> +<a name="1190"><span class="lineNum"> 1190 </span> : : __be32 type;</a> +<a name="1191"><span class="lineNum"> 1191 </span> : : __be32 version;</a> +<a name="1192"><span class="lineNum"> 1192 </span> : : __be32 dbob_id;</a> +<a name="1193"><span class="lineNum"> 1193 </span> : : __be32 offset;</a> +<a name="1194"><span class="lineNum"> 1194 </span> : : } __packed;</a> +<a name="1195"><span class="lineNum"> 1195 </span> : : </a> +<a name="1196"><span class="lineNum"> 1196 </span> :<span class="lineCov"> 6 : static inline const char *cpu_state(u32 flags)</span></a> +<a name="1197"><span class="lineNum"> 1197 </span> : : {</a> +<a name="1198"><span class="lineNum"> 1198 </span> :<span class="lineCov"> 6 : switch ((flags & CPU_ID_VERIFY_MASK) >> CPU_ID_VERIFY_SHIFT) {</span></a> +<a name="1199"><span class="lineNum"> 1199 </span> :<span class="lineCov"> 6 : case CPU_ID_VERIFY_USABLE_NO_FAILURES:</span></a> +<a name="1200"><span class="lineNum"> 1200 </span> :<span class="lineCov"> 6 : return "OK";</span></a> +<a name="1201"><span class="lineNum"> 1201 </span> :<span class="lineNoCov"> 0 : case CPU_ID_VERIFY_USABLE_FAILURES:</span></a> +<a name="1202"><span class="lineNum"> 1202 </span> :<span class="lineNoCov"> 0 : return "FAILURES";</span></a> +<a name="1203"><span class="lineNum"> 1203 </span> :<span class="lineNoCov"> 0 : case CPU_ID_VERIFY_NOT_INSTALLED:</span></a> +<a name="1204"><span class="lineNum"> 1204 </span> :<span class="lineNoCov"> 0 : return "NOT-INSTALLED";</span></a> +<a name="1205"><span class="lineNum"> 1205 </span> :<span class="lineNoCov"> 0 : case CPU_ID_VERIFY_UNUSABLE:</span></a> +<a name="1206"><span class="lineNum"> 1206 </span> :<span class="lineNoCov"> 0 : return "UNUSABLE";</span></a> +<a name="1207"><span class="lineNum"> 1207 </span> : : }</a> +<a name="1208"><span class="lineNum"> 1208 </span> :<span class="lineNoCov"> 0 : return "**UNKNOWN**";</span></a> +<a name="1209"><span class="lineNum"> 1209 </span> : : }</a> +<a name="1210"><span class="lineNum"> 1210 </span> : : #endif /* __SPIRA_H */</a> </pre> </td> </tr> 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 f0cdded..dd4c240 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 @@ -31,13 +31,13 @@ <td class="headerValue">skiboot.info</td> <td></td> <td class="headerItem">Lines:</td> - <td class="headerCovTableEntry">105</td> - <td class="headerCovTableEntry">168</td> - <td class="headerCovTableEntryLo">62.5 %</td> + <td class="headerCovTableEntry">92</td> + <td class="headerCovTableEntry">152</td> + <td class="headerCovTableEntryLo">60.5 %</td> </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">8</td> @@ -94,35 +94,35 @@ </tr> <tr> <td class="coverFn"><a href="hdata_to_dt.c.gcov.html#268">dump_hdata_fdt</a></td> - <td class="coverFnHi">2</td> + <td class="coverFnHi">1</td> </tr> <tr> <td class="coverFn"><a href="hdata_to_dt.c.gcov.html#299">main</a></td> - <td class="coverFnHi">2</td> + <td class="coverFnHi">1</td> </tr> <tr> <td class="coverFn"><a href="hdata_to_dt.c.gcov.html#217">undefined_bytes</a></td> - <td class="coverFnHi">2</td> + <td class="coverFnHi">1</td> </tr> <tr> <td class="coverFn"><a href="hdata_to_dt.c.gcov.html#222">hash_prop</a></td> - <td class="coverFnHi">8</td> + <td class="coverFnHi">3</td> </tr> <tr> <td class="coverFn"><a href="hdata_to_dt.c.gcov.html#107">mfspr</a></td> - <td class="coverFnHi">40</td> + <td class="coverFnHi">11</td> </tr> <tr> <td class="coverFn"><a href="hdata_to_dt.c.gcov.html#238">squash_blobs</a></td> - <td class="coverFnHi">236</td> + <td class="coverFnHi">80</td> </tr> <tr> <td class="coverFn"><a href="hdata_to_dt.c.gcov.html#200">ntuple_addr</a></td> - <td class="coverFnHi">638</td> + <td class="coverFnHi">230</td> </tr> <tr> <td class="coverFn"><a href="hdata_to_dt.c.gcov.html#189">spira_check_ptr</a></td> - <td class="coverFnHi">1007</td> + <td class="coverFnHi">380</td> </tr> </table> <br> 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 b308048..6e41454 100644 --- a/coverage-report/hdata/test/hdata_to_dt.c.func.html +++ b/coverage-report/hdata/test/hdata_to_dt.c.func.html @@ -31,13 +31,13 @@ <td class="headerValue">skiboot.info</td> <td></td> <td class="headerItem">Lines:</td> - <td class="headerCovTableEntry">105</td> - <td class="headerCovTableEntry">168</td> - <td class="headerCovTableEntryLo">62.5 %</td> + <td class="headerCovTableEntry">92</td> + <td class="headerCovTableEntry">152</td> + <td class="headerCovTableEntryLo">60.5 %</td> </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">8</td> @@ -78,7 +78,7 @@ </tr> <tr> <td class="coverFn"><a href="hdata_to_dt.c.gcov.html#268">dump_hdata_fdt</a></td> - <td class="coverFnHi">2</td> + <td class="coverFnHi">1</td> </tr> <tr> <td class="coverFn"><a href="hdata_to_dt.c.gcov.html#171">fsp_present</a></td> @@ -86,7 +86,7 @@ </tr> <tr> <td class="coverFn"><a href="hdata_to_dt.c.gcov.html#222">hash_prop</a></td> - <td class="coverFnHi">8</td> + <td class="coverFnHi">3</td> </tr> <tr> <td class="coverFn"><a href="hdata_to_dt.c.gcov.html#119">is_power9n</a></td> @@ -94,15 +94,15 @@ </tr> <tr> <td class="coverFn"><a href="hdata_to_dt.c.gcov.html#299">main</a></td> - <td class="coverFnHi">2</td> + <td class="coverFnHi">1</td> </tr> <tr> <td class="coverFn"><a href="hdata_to_dt.c.gcov.html#107">mfspr</a></td> - <td class="coverFnHi">40</td> + <td class="coverFnHi">11</td> </tr> <tr> <td class="coverFn"><a href="hdata_to_dt.c.gcov.html#200">ntuple_addr</a></td> - <td class="coverFnHi">638</td> + <td class="coverFnHi">230</td> </tr> <tr> <td class="coverFn"><a href="hdata_to_dt.c.gcov.html#176">op_display</a></td> @@ -110,11 +110,11 @@ </tr> <tr> <td class="coverFn"><a href="hdata_to_dt.c.gcov.html#189">spira_check_ptr</a></td> - <td class="coverFnHi">1007</td> + <td class="coverFnHi">380</td> </tr> <tr> <td class="coverFn"><a href="hdata_to_dt.c.gcov.html#238">squash_blobs</a></td> - <td class="coverFnHi">236</td> + <td class="coverFnHi">80</td> </tr> <tr> <td class="coverFn"><a href="hdata_to_dt.c.gcov.html#40">this_cpu</a></td> @@ -122,7 +122,7 @@ </tr> <tr> <td class="coverFn"><a href="hdata_to_dt.c.gcov.html#217">undefined_bytes</a></td> - <td class="coverFnHi">2</td> + <td class="coverFnHi">1</td> </tr> </table> <br> 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 2faf097..9ba31fb 100644 --- a/coverage-report/hdata/test/hdata_to_dt.c.gcov.html +++ b/coverage-report/hdata/test/hdata_to_dt.c.gcov.html @@ -31,13 +31,13 @@ <td class="headerValue">skiboot.info</td> <td></td> <td class="headerItem">Lines:</td> - <td class="headerCovTableEntry">105</td> - <td class="headerCovTableEntry">168</td> - <td class="headerCovTableEntryLo">62.5 %</td> + <td class="headerCovTableEntry">92</td> + <td class="headerCovTableEntry">152</td> + <td class="headerCovTableEntryLo">60.5 %</td> </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">8</td> @@ -177,10 +177,10 @@ <a name="106"><span class="lineNum"> 106 </span> : : </a> <a name="107"><span class="lineNum"> 107 </span> : : bool lpar_per_core;</a> <a name="108"><span class="lineNum"> 108 </span> : : </a> -<a name="109"><span class="lineNum"> 109 </span> :<span class="lineCov"> 40 : static inline unsigned long mfspr(unsigned int spr)</span></a> +<a name="109"><span class="lineNum"> 109 </span> :<span class="lineCov"> 11 : static inline unsigned long mfspr(unsigned int spr)</span></a> <a name="110"><span class="lineNum"> 110 </span> : : {</a> -<a name="111"><span class="lineNum"> 111 </span> :<span class="lineCov"> 40 : assert(spr == SPR_PVR);</span></a> -<a name="112"><span class="lineNum"> 112 </span> :<span class="lineCov"> 40 : return fake_pvr;</span></a> +<a name="111"><span class="lineNum"> 111 </span> :<span class="lineCov"> 11 : assert(spr == SPR_PVR);</span></a> +<a name="112"><span class="lineNum"> 112 </span> :<span class="lineCov"> 11 : return fake_pvr;</span></a> <a name="113"><span class="lineNum"> 113 </span> : : }</a> <a name="114"><span class="lineNum"> 114 </span> : : </a> <a name="115"><span class="lineNum"> 115 </span> :<span class="lineNoCov"> 0 : struct dt_node *add_ics_node(void)</span></a> @@ -259,48 +259,48 @@ <a name="188"><span class="lineNum"> 188 </span> : : </a> <a name="189"><span class="lineNum"> 189 </span> : : enum proc_gen proc_gen = proc_gen_p8;</a> <a name="190"><span class="lineNum"> 190 </span> : : </a> -<a name="191"><span class="lineNum"> 191 </span> :<span class="lineCov"> 1007 : static bool spira_check_ptr(const void *ptr, const char *file, unsigned int line)</span></a> +<a name="191"><span class="lineNum"> 191 </span> :<span class="lineCov"> 380 : static bool spira_check_ptr(const void *ptr, const char *file, unsigned int line)</span></a> <a name="192"><span class="lineNum"> 192 </span> : : {</a> -<a name="193"><span class="lineNum"> 193 </span> :<span class="lineCov"> 1007 : if (!ptr)</span></a> -<a name="194"><span class="lineNum"> 194 </span> :<span class="lineCov"> 6 : return false;</span></a> +<a name="193"><span class="lineNum"> 193 </span> :<span class="lineCov"> 380 : if (!ptr)</span></a> +<a name="194"><span class="lineNum"> 194 </span> :<span class="lineCov"> 1 : return false;</span></a> <a name="195"><span class="lineNum"> 195 </span> : : /* we fake the SPIRA pointer as it's relative to where it was loaded</a> <a name="196"><span class="lineNum"> 196 </span> : : * on real hardware */</a> <a name="197"><span class="lineNum"> 197 </span> : : (void)file;</a> <a name="198"><span class="lineNum"> 198 </span> : : (void)line;</a> -<a name="199"><span class="lineNum"> 199 </span> :<span class="lineCov"> 1001 : return true;</span></a> +<a name="199"><span class="lineNum"> 199 </span> :<span class="lineCov"> 379 : return true;</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"> 638 : static void *ntuple_addr(const struct spira_ntuple *n)</span></a> +<a name="202"><span class="lineNum"> 202 </span> :<span class="lineCov"> 230 : static void *ntuple_addr(const struct spira_ntuple *n)</span></a> <a name="203"><span class="lineNum"> 203 </span> : : {</a> -<a name="204"><span class="lineNum"> 204 </span> :<span class="lineCov"> 638 : uint64_t addr = be64_to_cpu(n->addr);</span></a> -<a name="205"><span class="lineNum"> 205 </span> :<span class="lineCov"> 638 : if (n->addr == 0)</span></a> -<a name="206"><span class="lineNum"> 206 </span> :<span class="lineCov"> 6 : return NULL;</span></a> -<a name="207"><span class="lineNum"> 207 </span> :<span class="lineCov"> 632 : if (addr < base_addr) {</span></a> +<a name="204"><span class="lineNum"> 204 </span> :<span class="lineCov"> 230 : uint64_t addr = be64_to_cpu(n->addr);</span></a> +<a name="205"><span class="lineNum"> 205 </span> :<span class="lineCov"> 230 : if (n->addr == 0)</span></a> +<a name="206"><span class="lineNum"> 206 </span> :<span class="lineCov"> 1 : return NULL;</span></a> +<a name="207"><span class="lineNum"> 207 </span> :<span class="lineCov"> 229 : if (addr < base_addr) {</span></a> <a name="208"><span class="lineNum"> 208 </span> :<span class="lineNoCov"> 0 : fprintf(stderr, "assert failed: addr >= base_addr (%"PRIu64" >= %"PRIu64")\n", addr, base_addr);</span></a> <a name="209"><span class="lineNum"> 209 </span> :<span class="lineNoCov"> 0 : exit(EXIT_FAILURE);</span></a> <a name="210"><span class="lineNum"> 210 </span> : : }</a> -<a name="211"><span class="lineNum"> 211 </span> :<span class="lineCov"> 632 : if (addr >= base_addr + spira_heap_size) {</span></a> +<a name="211"><span class="lineNum"> 211 </span> :<span class="lineCov"> 229 : if (addr >= base_addr + spira_heap_size) {</span></a> <a name="212"><span class="lineNum"> 212 </span> :<span class="lineNoCov"> 0 : fprintf(stderr, "assert failed: addr not in spira_heap\n");</span></a> <a name="213"><span class="lineNum"> 213 </span> :<span class="lineNoCov"> 0 : exit(EXIT_FAILURE);</span></a> <a name="214"><span class="lineNum"> 214 </span> : : }</a> -<a name="215"><span class="lineNum"> 215 </span> :<span class="lineCov"> 632 : return spira_heap + ((unsigned long)addr - base_addr);</span></a> +<a name="215"><span class="lineNum"> 215 </span> :<span class="lineCov"> 229 : return spira_heap + ((unsigned long)addr - base_addr);</span></a> <a name="216"><span class="lineNum"> 216 </span> : : }</a> <a name="217"><span class="lineNum"> 217 </span> : : </a> <a name="218"><span class="lineNum"> 218 </span> : : /* Make sure valgrind knows these are undefined bytes. */</a> -<a name="219"><span class="lineNum"> 219 </span> :<span class="lineCov"> 2 : static void undefined_bytes(void *p, size_t len)</span></a> +<a name="219"><span class="lineNum"> 219 </span> :<span class="lineCov"> 1 : static void undefined_bytes(void *p, size_t len)</span></a> <a name="220"><span class="lineNum"> 220 </span> : : {</a> <a name="221"><span class="lineNum"> 221 </span> : : VALGRIND_MAKE_MEM_UNDEFINED(p, len);</a> -<a name="222"><span class="lineNum"> 222 </span> :<span class="lineCov"> 2 : }</span></a> +<a name="222"><span class="lineNum"> 222 </span> :<span class="lineCov"> 1 : }</span></a> <a name="223"><span class="lineNum"> 223 </span> : : </a> -<a name="224"><span class="lineNum"> 224 </span> :<span class="lineCov"> 8 : static u32 hash_prop(const struct dt_property *p)</span></a> +<a name="224"><span class="lineNum"> 224 </span> :<span class="lineCov"> 3 : static u32 hash_prop(const struct dt_property *p)</span></a> <a name="225"><span class="lineNum"> 225 </span> : : {</a> -<a name="226"><span class="lineNum"> 226 </span> :<span class="lineCov"> 8 : u32 i, hash = 0;</span></a> +<a name="226"><span class="lineNum"> 226 </span> :<span class="lineCov"> 3 : u32 i, hash = 0;</span></a> <a name="227"><span class="lineNum"> 227 </span> : : </a> <a name="228"><span class="lineNum"> 228 </span> : : /* a stupid checksum */</a> -<a name="229"><span class="lineNum"> 229 </span> :<span class="lineCov"> 401416 : for (i = 0; i < p->len; i++)</span></a> -<a name="230"><span class="lineNum"> 230 </span> :<span class="lineCov"> 401408 : hash += (((signed char)p->prop[i] & ~0x10) + 1) * i;</span></a> +<a name="229"><span class="lineNum"> 229 </span> :<span class="lineCov"> 135171 : for (i = 0; i < p->len; i++)</span></a> +<a name="230"><span class="lineNum"> 230 </span> :<span class="lineCov"> 135168 : hash += (((signed char)p->prop[i] & ~0x10) + 1) * i;</span></a> <a name="231"><span class="lineNum"> 231 </span> : : </a> -<a name="232"><span class="lineNum"> 232 </span> :<span class="lineCov"> 8 : return hash;</span></a> +<a name="232"><span class="lineNum"> 232 </span> :<span class="lineCov"> 3 : return hash;</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> @@ -308,43 +308,43 @@ <a name="237"><span class="lineNum"> 237 </span> : : * We don't actually care about the contents of the blob, we just want to make</a> <a name="238"><span class="lineNum"> 238 </span> : : * sure it's there and that we aren't accidently corrupting the contents.</a> <a name="239"><span class="lineNum"> 239 </span> : : */</a> -<a name="240"><span class="lineNum"> 240 </span> :<span class="lineCov"> 236 : static void squash_blobs(struct dt_node *root)</span></a> +<a name="240"><span class="lineNum"> 240 </span> :<span class="lineCov"> 80 : static void squash_blobs(struct dt_node *root)</span></a> <a name="241"><span class="lineNum"> 241 </span> : : {</a> <a name="242"><span class="lineNum"> 242 </span> : : struct dt_node *n;</a> <a name="243"><span class="lineNum"> 243 </span> : : struct dt_property *p;</a> <a name="244"><span class="lineNum"> 244 </span> : : </a> -<a name="245"><span class="lineNum"> 245 </span> :<span class="lineCov"> 2819 : list_for_each(&root->properties, p, list) {</span></a> -<a name="246"><span class="lineNum"> 246 </span> :<span class="lineCov"> 2583 : if (strstarts(p->name, DT_PRIVATE))</span></a> -<a name="247"><span class="lineNum"> 247 </span> :<span class="lineCov"> 8 : continue;</span></a> +<a name="245"><span class="lineNum"> 245 </span> :<span class="lineCov"> 849 : list_for_each(&root->properties, p, list) {</span></a> +<a name="246"><span class="lineNum"> 246 </span> :<span class="lineCov"> 769 : if (strstarts(p->name, DT_PRIVATE))</span></a> +<a name="247"><span class="lineNum"> 247 </span> :<span class="lineCov"> 3 : continue;</span></a> <a name="248"><span class="lineNum"> 248 </span> : : </a> <a name="249"><span class="lineNum"> 249 </span> : : /*</a> <a name="250"><span class="lineNum"> 250 </span> : : * Consider any property larger than 512 bytes a blob that can</a> <a name="251"><span class="lineNum"> 251 </span> : : * be removed. This number was picked out of thin in so don't</a> <a name="252"><span class="lineNum"> 252 </span> : : * feel bad about changing it.</a> <a name="253"><span class="lineNum"> 253 </span> : : */</a> -<a name="254"><span class="lineNum"> 254 </span> :<span class="lineCov"> 2575 : if (p->len > 512) {</span></a> -<a name="255"><span class="lineNum"> 255 </span> :<span class="lineCov"> 8 : u32 hash = hash_prop(p);</span></a> -<a name="256"><span class="lineNum"> 256 </span> :<span class="lineCov"> 8 : u32 *val = (u32 *) p->prop;</span></a> +<a name="254"><span class="lineNum"> 254 </span> :<span class="lineCov"> 766 : if (p->len > 512) {</span></a> +<a name="255"><span class="lineNum"> 255 </span> :<span class="lineCov"> 3 : u32 hash = hash_prop(p);</span></a> +<a name="256"><span class="lineNum"> 256 </span> :<span class="lineCov"> 3 : u32 *val = (u32 *) p->prop;</span></a> <a name="257"><span class="lineNum"> 257 </span> : : </a> <a name="258"><span class="lineNum"> 258 </span> : : /* Add a sentinel so we know it was truncated */</a> -<a name="259"><span class="lineNum"> 259 </span> :<span class="lineCov"> 8 : val[0] = cpu_to_be32(0xcafebeef);</span></a> -<a name="260"><span class="lineNum"> 260 </span> :<span class="lineCov"> 8 : val[1] = cpu_to_be32(p->len);</span></a> -<a name="261"><span class="lineNum"> 261 </span> :<span class="lineCov"> 8 : val[2] = cpu_to_be32(hash);</span></a> -<a name="262"><span class="lineNum"> 262 </span> :<span class="lineCov"> 8 : p->len = 3 * sizeof(u32);</span></a> +<a name="259"><span class="lineNum"> 259 </span> :<span class="lineCov"> 3 : val[0] = cpu_to_be32(0xcafebeef);</span></a> +<a name="260"><span class="lineNum"> 260 </span> :<span class="lineCov"> 3 : val[1] = cpu_to_be32(p->len);</span></a> +<a name="261"><span class="lineNum"> 261 </span> :<span class="lineCov"> 3 : val[2] = cpu_to_be32(hash);</span></a> +<a name="262"><span class="lineNum"> 262 </span> :<span class="lineCov"> 3 : p->len = 3 * sizeof(u32);</span></a> <a name="263"><span class="lineNum"> 263 </span> : : }</a> <a name="264"><span class="lineNum"> 264 </span> : : }</a> <a name="265"><span class="lineNum"> 265 </span> : : </a> -<a name="266"><span class="lineNum"> 266 </span> :<span class="lineCov"> 470 : list_for_each(&root->children, n, list)</span></a> -<a name="267"><span class="lineNum"> 267 </span> :<span class="lineCov"> 234 : squash_blobs(n);</span></a> -<a name="268"><span class="lineNum"> 268 </span> :<span class="lineCov"> 236 : }</span></a> +<a name="266"><span class="lineNum"> 266 </span> :<span class="lineCov"> 159 : list_for_each(&root->children, n, list)</span></a> +<a name="267"><span class="lineNum"> 267 </span> :<span class="lineCov"> 79 : squash_blobs(n);</span></a> +<a name="268"><span class="lineNum"> 268 </span> :<span class="lineCov"> 80 : }</span></a> <a name="269"><span class="lineNum"> 269 </span> : : </a> -<a name="270"><span class="lineNum"> 270 </span> :<span class="lineCov"> 2 : static void dump_hdata_fdt(struct dt_node *root)</span></a> +<a name="270"><span class="lineNum"> 270 </span> :<span class="lineCov"> 1 : static void dump_hdata_fdt(struct dt_node *root)</span></a> <a name="271"><span class="lineNum"> 271 </span> : : {</a> <a name="272"><span class="lineNum"> 272 </span> : : struct dt_node *n;</a> <a name="273"><span class="lineNum"> 273 </span> : : void *fdt_blob;</a> <a name="274"><span class="lineNum"> 274 </span> : : </a> <a name="275"><span class="lineNum"> 275 </span> : : /* delete some properties that hardcode pointers */</a> -<a name="276"><span class="lineNum"> 276 </span> :<span class="lineCov"> 236 : dt_for_each_node(dt_root, n) {</span></a> +<a name="276"><span class="lineNum"> 276 </span> :<span class="lineCov"> 80 : dt_for_each_node(dt_root, n) {</span></a> <a name="277"><span class="lineNum"> 277 </span> : : struct dt_property *base;</a> <a name="278"><span class="lineNum"> 278 </span> : : </a> <a name="279"><span class="lineNum"> 279 </span> : : /*</a> @@ -352,170 +352,149 @@ <a name="281"><span class="lineNum"> 281 </span> : : * on each execution of hdata_to_dt. Work around this by</a> <a name="282"><span class="lineNum"> 282 </span> : : * zeroing it.</a> <a name="283"><span class="lineNum"> 283 </span> : : */</a> -<a name="284"><span class="lineNum"> 284 </span> :<span class="lineCov"> 234 : base = __dt_find_property(n, "linux,sml-base");</span></a> -<a name="285"><span class="lineNum"> 285 </span> :<span class="lineCov"> 234 : if (base)</span></a> +<a name="284"><span class="lineNum"> 284 </span> :<span class="lineCov"> 79 : base = __dt_find_property(n, "linux,sml-base");</span></a> +<a name="285"><span class="lineNum"> 285 </span> :<span class="lineCov"> 79 : if (base)</span></a> <a name="286"><span class="lineNum"> 286 </span> :<span class="lineNoCov"> 0 : memset(base->prop, 0, base->len);</span></a> <a name="287"><span class="lineNum"> 287 </span> : : }</a> <a name="288"><span class="lineNum"> 288 </span> : : </a> -<a name="289"><span class="lineNum"> 289 </span> :<span class="lineCov"> 2 : fdt_blob = create_dtb(root, false);</span></a> +<a name="289"><span class="lineNum"> 289 </span> :<span class="lineCov"> 1 : fdt_blob = create_dtb(root, false);</span></a> <a name="290"><span class="lineNum"> 290 </span> : : </a> -<a name="291"><span class="lineNum"> 291 </span> :<span class="lineCov"> 2 : if (!fdt_blob) {</span></a> +<a name="291"><span class="lineNum"> 291 </span> :<span class="lineCov"> 1 : if (!fdt_blob) {</span></a> <a name="292"><span class="lineNum"> 292 </span> :<span class="lineNoCov"> 0 : fprintf(stderr, "Unable to make flattened DT, no FDT written\n");</span></a> <a name="293"><span class="lineNum"> 293 </span> :<span class="lineNoCov"> 0 : return;</span></a> <a name="294"><span class="lineNum"> 294 </span> : : }</a> <a name="295"><span class="lineNum"> 295 </span> : : </a> -<a name="296"><span class="lineNum"> 296 </span> :<span class="lineCov"> 2 : fwrite(fdt_blob, fdt_totalsize(fdt_blob), 1, stdout);</span></a> +<a name="296"><span class="lineNum"> 296 </span> :<span class="lineCov"> 1 : fwrite(fdt_blob, fdt_totalsize(fdt_blob), 1, stdout);</span></a> <a name="297"><span class="lineNum"> 297 </span> : : </a> -<a name="298"><span class="lineNum"> 298 </span> :<span class="lineCov"> 2 : free(fdt_blob);</span></a> +<a name="298"><span class="lineNum"> 298 </span> :<span class="lineCov"> 1 : free(fdt_blob);</span></a> <a name="299"><span class="lineNum"> 299 </span> : : }</a> <a name="300"><span class="lineNum"> 300 </span> : : </a> -<a name="301"><span class="lineNum"> 301 </span> :<span class="lineCov"> 2 : int main(int argc, char *argv[])</span></a> +<a name="301"><span class="lineNum"> 301 </span> :<span class="lineCov"> 1 : int main(int argc, char *argv[])</span></a> <a name="302"><span class="lineNum"> 302 </span> : : {</a> -<a name="303"><span class="lineNum"> 303 </span> :<span class="lineCov"> 2 : int fd, r, i = 0, opt_count = 0;</span></a> -<a name="304"><span class="lineNum"> 304 </span> :<span class="lineCov"> 2 : bool verbose = false, quiet = false, new_spira = false, blobs = false;</span></a> +<a name="303"><span class="lineNum"> 303 </span> :<span class="lineCov"> 1 : int fd, r, i = 0, opt_count = 0;</span></a> +<a name="304"><span class="lineNum"> 304 </span> :<span class="lineCov"> 1 : bool verbose = false, quiet = false, blobs = false;</span></a> <a name="305"><span class="lineNum"> 305 </span> : : </a> -<a name="306"><span class="lineNum"> 306 </span> :<span class="lineCov"> 9 : while (argv[++i]) {</span></a> -<a name="307"><span class="lineNum"> 307 </span> :<span class="lineCov"> 7 : if (strcmp(argv[i], "-v") == 0) {</span></a> +<a name="306"><span class="lineNum"> 306 </span> :<span class="lineCov"> 4 : while (argv[++i]) {</span></a> +<a name="307"><span class="lineNum"> 307 </span> :<span class="lineCov"> 3 : if (strcmp(argv[i], "-v") == 0) {</span></a> <a name="308"><span class="lineNum"> 308 </span> :<span class="lineNoCov"> 0 : verbose = true;</span></a> <a name="309"><span class="lineNum"> 309 </span> :<span class="lineNoCov"> 0 : opt_count++;</span></a> -<a name="310"><span class="lineNum"> 310 </span> :<span class="lineCov"> 7 : } else if (strcmp(argv[i], "-q") == 0) {</span></a> +<a name="310"><span class="lineNum"> 310 </span> :<span class="lineCov"> 3 : } else if (strcmp(argv[i], "-q") == 0) {</span></a> <a name="311"><span class="lineNum"> 311 </span> :<span class="lineNoCov"> 0 : quiet = true;</span></a> <a name="312"><span class="lineNum"> 312 </span> :<span class="lineNoCov"> 0 : opt_count++;</span></a> -<a name="313"><span class="lineNum"> 313 </span> :<span class="lineCov"> 7 : } else if (strcmp(argv[i], "-s") == 0) {</span></a> -<a name="314"><span class="lineNum"> 314 </span> :<span class="lineCov"> 1 : new_spira = true;</span></a> -<a name="315"><span class="lineNum"> 315 </span> :<span class="lineCov"> 1 : opt_count++;</span></a> -<a name="316"><span class="lineNum"> 316 </span> :<span class="lineCov"> 6 : } else if (strcmp(argv[i], "-b") == 0) {</span></a> -<a name="317"><span class="lineNum"> 317 </span> :<span class="lineNoCov"> 0 : blobs = true;</span></a> -<a name="318"><span class="lineNum"> 318 </span> :<span class="lineNoCov"> 0 : opt_count++;</span></a> -<a name="319"><span class="lineNum"> 319 </span> :<span class="lineCov"> 6 : } else if (strcmp(argv[i], "-8E") == 0) {</span></a> -<a name="320"><span class="lineNum"> 320 </span> :<span class="lineCov"> 2 : fake_pvr = PVR_P8E;</span></a> -<a name="321"><span class="lineNum"> 321 </span> :<span class="lineCov"> 2 : proc_gen = proc_gen_p8;</span></a> -<a name="322"><span class="lineNum"> 322 </span> :<span class="lineCov"> 2 : opt_count++;</span></a> -<a name="323"><span class="lineNum"> 323 </span> :<span class="lineCov"> 4 : } else if (strcmp(argv[i], "-8") == 0) {</span></a> -<a name="324"><span class="lineNum"> 324 </span> :<span class="lineNoCov"> 0 : fake_pvr = PVR_P8;</span></a> -<a name="325"><span class="lineNum"> 325 </span> :<span class="lineNoCov"> 0 : proc_gen = proc_gen_p8;</span></a> -<a name="326"><span class="lineNum"> 326 </span> :<span class="lineNoCov"> 0 : opt_count++;</span></a> -<a name="327"><span class="lineNum"> 327 </span> :<span class="lineCov"> 4 : } else if (strcmp(argv[i], "-9") == 0) {</span></a> -<a name="328"><span class="lineNum"> 328 </span> :<span class="lineNoCov"> 0 : fake_pvr = PVR_P9;</span></a> -<a name="329"><span class="lineNum"> 329 </span> :<span class="lineNoCov"> 0 : proc_gen = proc_gen_p9;</span></a> -<a name="330"><span class="lineNum"> 330 </span> :<span class="lineNoCov"> 0 : opt_count++;</span></a> -<a name="331"><span class="lineNum"> 331 </span> :<span class="lineCov"> 4 : } else if (strcmp(argv[i], "-9P") == 0) {</span></a> -<a name="332"><span class="lineNum"> 332 </span> :<span class="lineNoCov"> 0 : fake_pvr = PVR_P9P;</span></a> -<a name="333"><span class="lineNum"> 333 </span> :<span class="lineNoCov"> 0 : proc_gen = proc_gen_p9;</span></a> -<a name="334"><span class="lineNum"> 334 </span> :<span class="lineNoCov"> 0 : opt_count++;</span></a> -<a name="335"><span class="lineNum"> 335 </span> :<span class="lineCov"> 4 : } else if (strcmp(argv[i], "-10") == 0) {</span></a> -<a name="336"><span class="lineNum"> 336 </span> :<span class="lineNoCov"> 0 : fake_pvr = PVR_P10;</span></a> -<a name="337"><span class="lineNum"> 337 </span> :<span class="lineNoCov"> 0 : proc_gen = proc_gen_p10;</span></a> -<a name="338"><span class="lineNum"> 338 </span> :<span class="lineNoCov"> 0 : opt_count++;</span></a> -<a name="339"><span class="lineNum"> 339 </span> : : }</a> -<a name="340"><span class="lineNum"> 340 </span> : : }</a> -<a name="341"><span class="lineNum"> 341 </span> : : </a> -<a name="342"><span class="lineNum"> 342 </span> :<span class="lineCov"> 2 : argc -= opt_count;</span></a> -<a name="343"><span class="lineNum"> 343 </span> :<span class="lineCov"> 2 : argv += opt_count;</span></a> -<a name="344"><span class="lineNum"> 344 </span> :<span class="lineCov"> 2 : if (argc != 3) {</span></a> -<a name="345"><span class="lineNum"> 345 </span> :<span class="lineNoCov"> 0 : errx(1, "Converts HDAT dumps to DTB.\n"</span></a> -<a name="346"><span class="lineNum"> 346 </span> : : "\n"</a> -<a name="347"><span class="lineNum"> 347 </span> : : "Usage:\n"</a> -<a name="348"><span class="lineNum"> 348 </span> : : " hdata <opts> <spira-dump> <heap-dump>\n"</a> -<a name="349"><span class="lineNum"> 349 </span> : : " hdata <opts> -s <spirah-dump> <spiras-dump>\n"</a> -<a name="350"><span class="lineNum"> 350 </span> : : "Options: \n"</a> -<a name="351"><span class="lineNum"> 351 </span> : : " -v Verbose\n"</a> -<a name="352"><span class="lineNum"> 352 </span> : : " -q Quiet mode\n"</a> -<a name="353"><span class="lineNum"> 353 </span> : : " -b Keep blobs in the output\n"</a> -<a name="354"><span class="lineNum"> 354 </span> : : "\n"</a> -<a name="355"><span class="lineNum"> 355 </span> : : " -8 Force PVR to POWER8\n"</a> -<a name="356"><span class="lineNum"> 356 </span> : : " -8E Force PVR to POWER8E\n"</a> -<a name="357"><span class="lineNum"> 357 </span> : : " -9 Force PVR to POWER9 (nimbus)\n"</a> -<a name="358"><span class="lineNum"> 358 </span> : : " -9P Force PVR to POWER9P (Axone)\n"</a> -<a name="359"><span class="lineNum"> 359 </span> : : " -10 Force PVR to POWER10\n"</a> -<a name="360"><span class="lineNum"> 360 </span> : : "\n"</a> -<a name="361"><span class="lineNum"> 361 </span> : : "When no PVR is specified -8 is assumed"</a> -<a name="362"><span class="lineNum"> 362 </span> : : "\n"</a> -<a name="363"><span class="lineNum"> 363 </span> : : "Pipe to 'dtc -I dtb -O dts' for human readable output\n");</a> -<a name="364"><span class="lineNum"> 364 </span> : : }</a> +<a name="313"><span class="lineNum"> 313 </span> :<span class="lineCov"> 3 : } else if (strcmp(argv[i], "-b") == 0) {</span></a> +<a name="314"><span class="lineNum"> 314 </span> :<span class="lineNoCov"> 0 : blobs = true;</span></a> +<a name="315"><span class="lineNum"> 315 </span> :<span class="lineNoCov"> 0 : opt_count++;</span></a> +<a name="316"><span class="lineNum"> 316 </span> :<span class="lineCov"> 3 : } else if (strcmp(argv[i], "-8E") == 0) {</span></a> +<a name="317"><span class="lineNum"> 317 </span> :<span class="lineCov"> 1 : fake_pvr = PVR_P8E;</span></a> +<a name="318"><span class="lineNum"> 318 </span> :<span class="lineCov"> 1 : proc_gen = proc_gen_p8;</span></a> +<a name="319"><span class="lineNum"> 319 </span> :<span class="lineCov"> 1 : opt_count++;</span></a> +<a name="320"><span class="lineNum"> 320 </span> :<span class="lineCov"> 2 : } else if (strcmp(argv[i], "-8") == 0) {</span></a> +<a name="321"><span class="lineNum"> 321 </span> :<span class="lineNoCov"> 0 : fake_pvr = PVR_P8;</span></a> +<a name="322"><span class="lineNum"> 322 </span> :<span class="lineNoCov"> 0 : proc_gen = proc_gen_p8;</span></a> +<a name="323"><span class="lineNum"> 323 </span> :<span class="lineNoCov"> 0 : opt_count++;</span></a> +<a name="324"><span class="lineNum"> 324 </span> :<span class="lineCov"> 2 : } else if (strcmp(argv[i], "-9") == 0) {</span></a> +<a name="325"><span class="lineNum"> 325 </span> :<span class="lineNoCov"> 0 : fake_pvr = PVR_P9;</span></a> +<a name="326"><span class="lineNum"> 326 </span> :<span class="lineNoCov"> 0 : proc_gen = proc_gen_p9;</span></a> +<a name="327"><span class="lineNum"> 327 </span> :<span class="lineNoCov"> 0 : opt_count++;</span></a> +<a name="328"><span class="lineNum"> 328 </span> :<span class="lineCov"> 2 : } else if (strcmp(argv[i], "-9P") == 0) {</span></a> +<a name="329"><span class="lineNum"> 329 </span> :<span class="lineNoCov"> 0 : fake_pvr = PVR_P9P;</span></a> +<a name="330"><span class="lineNum"> 330 </span> :<span class="lineNoCov"> 0 : proc_gen = proc_gen_p9;</span></a> +<a name="331"><span class="lineNum"> 331 </span> :<span class="lineNoCov"> 0 : opt_count++;</span></a> +<a name="332"><span class="lineNum"> 332 </span> :<span class="lineCov"> 2 : } else if (strcmp(argv[i], "-10") == 0) {</span></a> +<a name="333"><span class="lineNum"> 333 </span> :<span class="lineNoCov"> 0 : fake_pvr = PVR_P10;</span></a> +<a name="334"><span class="lineNum"> 334 </span> :<span class="lineNoCov"> 0 : proc_gen = proc_gen_p10;</span></a> +<a name="335"><span class="lineNum"> 335 </span> :<span class="lineNoCov"> 0 : opt_count++;</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> :<span class="lineCov"> 1 : argc -= opt_count;</span></a> +<a name="340"><span class="lineNum"> 340 </span> :<span class="lineCov"> 1 : argv += opt_count;</span></a> +<a name="341"><span class="lineNum"> 341 </span> :<span class="lineCov"> 1 : if (argc != 3) {</span></a> +<a name="342"><span class="lineNum"> 342 </span> :<span class="lineNoCov"> 0 : errx(1, "Converts HDAT dumps to DTB.\n"</span></a> +<a name="343"><span class="lineNum"> 343 </span> : : "\n"</a> +<a name="344"><span class="lineNum"> 344 </span> : : "Usage:\n"</a> +<a name="345"><span class="lineNum"> 345 </span> : : " hdata <opts> <spirah-dump> <spiras-dump>\n"</a> +<a name="346"><span class="lineNum"> 346 </span> : : "Options: \n"</a> +<a name="347"><span class="lineNum"> 347 </span> : : " -v Verbose\n"</a> +<a name="348"><span class="lineNum"> 348 </span> : : " -q Quiet mode\n"</a> +<a name="349"><span class="lineNum"> 349 </span> : : " -b Keep blobs in the output\n"</a> +<a name="350"><span class="lineNum"> 350 </span> : : "\n"</a> +<a name="351"><span class="lineNum"> 351 </span> : : " -8 Force PVR to POWER8\n"</a> +<a name="352"><span class="lineNum"> 352 </span> : : " -8E Force PVR to POWER8E\n"</a> +<a name="353"><span class="lineNum"> 353 </span> : : " -9 Force PVR to POWER9 (nimbus)\n"</a> +<a name="354"><span class="lineNum"> 354 </span> : : " -9P Force PVR to POWER9P (Axone)\n"</a> +<a name="355"><span class="lineNum"> 355 </span> : : " -10 Force PVR to POWER10\n"</a> +<a name="356"><span class="lineNum"> 356 </span> : : "\n"</a> +<a name="357"><span class="lineNum"> 357 </span> : : "When no PVR is specified -8 is assumed"</a> +<a name="358"><span class="lineNum"> 358 </span> : : "\n"</a> +<a name="359"><span class="lineNum"> 359 </span> : : "Pipe to 'dtc -I dtb -O dts' for human readable output\n");</a> +<a name="360"><span class="lineNum"> 360 </span> : : }</a> +<a name="361"><span class="lineNum"> 361 </span> : : </a> +<a name="362"><span class="lineNum"> 362 </span> : : /* We don't have phys mapping for P8 */</a> +<a name="363"><span class="lineNum"> 363 </span> :<span class="lineCov"> 1 : if (proc_gen != proc_gen_p8)</span></a> +<a name="364"><span class="lineNum"> 364 </span> :<span class="lineNoCov"> 0 : phys_map_init(fake_pvr);</span></a> <a name="365"><span class="lineNum"> 365 </span> : : </a> -<a name="366"><span class="lineNum"> 366 </span> : : /* We don't have phys mapping for P8 */</a> -<a name="367"><span class="lineNum"> 367 </span> :<span class="lineCov"> 2 : if (proc_gen != proc_gen_p8)</span></a> -<a name="368"><span class="lineNum"> 368 </span> :<span class="lineNoCov"> 0 : phys_map_init(fake_pvr);</span></a> -<a name="369"><span class="lineNum"> 369 </span> : : </a> -<a name="370"><span class="lineNum"> 370 </span> : : /* Copy in spira dump (assumes little has changed!). */</a> -<a name="371"><span class="lineNum"> 371 </span> :<span class="lineCov"> 2 : if (new_spira) {</span></a> -<a name="372"><span class="lineNum"> 372 </span> :<span class="lineCov"> 1 : fd = open(argv[1], O_RDONLY);</span></a> -<a name="373"><span class="lineNum"> 373 </span> :<span class="lineCov"> 1 : if (fd < 0)</span></a> -<a name="374"><span class="lineNum"> 374 </span> :<span class="lineNoCov"> 0 : err(1, "opening %s", argv[1]);</span></a> -<a name="375"><span class="lineNum"> 375 </span> :<span class="lineCov"> 1 : r = read(fd, &spirah, sizeof(spirah));</span></a> -<a name="376"><span class="lineNum"> 376 </span> :<span class="lineCov"> 1 : if (r < sizeof(spirah.hdr))</span></a> -<a name="377"><span class="lineNum"> 377 </span> :<span class="lineNoCov"> 0 : err(1, "reading %s gave %i", argv[1], r);</span></a> -<a name="378"><span class="lineNum"> 378 </span> :<span class="lineCov"> 1 : if (verbose)</span></a> -<a name="379"><span class="lineNum"> 379 </span> :<span class="lineNoCov"> 0 : printf("verbose: read spirah %u bytes\n", r);</span></a> -<a name="380"><span class="lineNum"> 380 </span> :<span class="lineCov"> 1 : close(fd);</span></a> -<a name="381"><span class="lineNum"> 381 </span> : : </a> -<a name="382"><span class="lineNum"> 382 </span> :<span class="lineCov"> 1 : undefined_bytes((void *)&spirah + r, sizeof(spirah) - r);</span></a> -<a name="383"><span class="lineNum"> 383 </span> : : </a> -<a name="384"><span class="lineNum"> 384 </span> :<span class="lineCov"> 1 : base_addr = be64_to_cpu(spirah.ntuples.hs_data_area.addr);</span></a> -<a name="385"><span class="lineNum"> 385 </span> : : } else {</a> -<a name="386"><span class="lineNum"> 386 </span> :<span class="lineCov"> 1 : fd = open(argv[1], O_RDONLY);</span></a> -<a name="387"><span class="lineNum"> 387 </span> :<span class="lineCov"> 1 : if (fd < 0)</span></a> -<a name="388"><span class="lineNum"> 388 </span> :<span class="lineNoCov"> 0 : err(1, "opening %s", argv[1]);</span></a> -<a name="389"><span class="lineNum"> 389 </span> :<span class="lineCov"> 1 : r = read(fd, &spira, sizeof(spira));</span></a> -<a name="390"><span class="lineNum"> 390 </span> :<span class="lineCov"> 1 : if (r < sizeof(spira.hdr))</span></a> -<a name="391"><span class="lineNum"> 391 </span> :<span class="lineNoCov"> 0 : err(1, "reading %s gave %i", argv[1], r);</span></a> -<a name="392"><span class="lineNum"> 392 </span> :<span class="lineCov"> 1 : if (verbose)</span></a> -<a name="393"><span class="lineNum"> 393 </span> :<span class="lineNoCov"> 0 : printf("verbose: read spira %u bytes\n", r);</span></a> -<a name="394"><span class="lineNum"> 394 </span> :<span class="lineCov"> 1 : close(fd);</span></a> -<a name="395"><span class="lineNum"> 395 </span> : : </a> -<a name="396"><span class="lineNum"> 396 </span> :<span class="lineCov"> 1 : undefined_bytes((void *)&spira + r, sizeof(spira) - r);</span></a> -<a name="397"><span class="lineNum"> 397 </span> : : </a> -<a name="398"><span class="lineNum"> 398 </span> :<span class="lineCov"> 1 : base_addr = be64_to_cpu(spira.ntuples.heap.addr);</span></a> -<a name="399"><span class="lineNum"> 399 </span> : : }</a> -<a name="400"><span class="lineNum"> 400 </span> : : </a> -<a name="401"><span class="lineNum"> 401 </span> :<span class="lineCov"> 2 : if (!base_addr)</span></a> -<a name="402"><span class="lineNum"> 402 </span> :<span class="lineNoCov"> 0 : errx(1, "Invalid base addr");</span></a> -<a name="403"><span class="lineNum"> 403 </span> :<span class="lineCov"> 2 : if (verbose)</span></a> -<a name="404"><span class="lineNum"> 404 </span> :<span class="lineNoCov"> 0 : printf("verbose: map.base_addr = %llx\n", (long long)base_addr);</span></a> -<a name="405"><span class="lineNum"> 405 </span> : : </a> -<a name="406"><span class="lineNum"> 406 </span> :<span class="lineCov"> 2 : fd = open(argv[2], O_RDONLY);</span></a> -<a name="407"><span class="lineNum"> 407 </span> :<span class="lineCov"> 2 : if (fd < 0)</span></a> -<a name="408"><span class="lineNum"> 408 </span> :<span class="lineNoCov"> 0 : err(1, "opening %s", argv[2]);</span></a> -<a name="409"><span class="lineNum"> 409 </span> :<span class="lineCov"> 2 : spira_heap_size = lseek(fd, 0, SEEK_END);</span></a> -<a name="410"><span class="lineNum"> 410 </span> :<span class="lineCov"> 2 : if (spira_heap_size < 0)</span></a> -<a name="411"><span class="lineNum"> 411 </span> :<span class="lineNoCov"> 0 : err(1, "lseek on %s", argv[2]);</span></a> -<a name="412"><span class="lineNum"> 412 </span> :<span class="lineCov"> 2 : spira_heap = mmap(NULL, spira_heap_size, PROT_READ, MAP_SHARED, fd, 0);</span></a> -<a name="413"><span class="lineNum"> 413 </span> :<span class="lineCov"> 2 : if (spira_heap == MAP_FAILED)</span></a> -<a name="414"><span class="lineNum"> 414 </span> :<span class="lineNoCov"> 0 : err(1, "mmaping %s", argv[3]);</span></a> -<a name="415"><span class="lineNum"> 415 </span> :<span class="lineCov"> 2 : if (verbose)</span></a> -<a name="416"><span class="lineNum"> 416 </span> :<span class="lineNoCov"> 0 : printf("verbose: mapped %zu at %p\n",</span></a> -<a name="417"><span class="lineNum"> 417 </span> : : spira_heap_size, spira_heap);</a> -<a name="418"><span class="lineNum"> 418 </span> :<span class="lineCov"> 2 : close(fd);</span></a> -<a name="419"><span class="lineNum"> 419 </span> : : </a> -<a name="420"><span class="lineNum"> 420 </span> :<span class="lineCov"> 2 : if (new_spira)</span></a> -<a name="421"><span class="lineNum"> 421 </span> :<span class="lineCov"> 1 : spiras = (struct spiras *)spira_heap;</span></a> -<a name="422"><span class="lineNum"> 422 </span> : : </a> -<a name="423"><span class="lineNum"> 423 </span> :<span class="lineCov"> 2 : if (quiet) {</span></a> -<a name="424"><span class="lineNum"> 424 </span> :<span class="lineNoCov"> 0 : fclose(stdout);</span></a> -<a name="425"><span class="lineNum"> 425 </span> :<span class="lineNoCov"> 0 : fclose(stderr);</span></a> -<a name="426"><span class="lineNum"> 426 </span> : : }</a> -<a name="427"><span class="lineNum"> 427 </span> : : </a> -<a name="428"><span class="lineNum"> 428 </span> :<span class="lineCov"> 2 : dt_root = dt_new_root("");</span></a> -<a name="429"><span class="lineNum"> 429 </span> : : </a> -<a name="430"><span class="lineNum"> 430 </span> :<span class="lineCov"> 2 : if(parse_hdat(false) < 0) {</span></a> -<a name="431"><span class="lineNum"> 431 </span> :<span class="lineNoCov"> 0 : fprintf(stderr, "FATAL ERROR parsing HDAT\n");</span></a> -<a name="432"><span class="lineNum"> 432 </span> :<span class="lineNoCov"> 0 : dt_free(dt_root);</span></a> -<a name="433"><span class="lineNum"> 433 </span> :<span class="lineNoCov"> 0 : exit(EXIT_FAILURE);</span></a> -<a name="434"><span class="lineNum"> 434 </span> : : }</a> -<a name="435"><span class="lineNum"> 435 </span> : : </a> -<a name="436"><span class="lineNum"> 436 </span> :<span class="lineCov"> 2 : mem_region_init();</span></a> -<a name="437"><span class="lineNum"> 437 </span> :<span class="lineCov"> 2 : mem_region_release_unused();</span></a> -<a name="438"><span class="lineNum"> 438 </span> : : </a> -<a name="439"><span class="lineNum"> 439 </span> :<span class="lineCov"> 2 : if (!blobs)</span></a> -<a name="440"><span class="lineNum"> 440 </span> :<span class="lineCov"> 2 : squash_blobs(dt_root);</span></a> -<a name="441"><span class="lineNum"> 441 </span> : : </a> -<a name="442"><span class="lineNum"> 442 </span> :<span class="lineCov"> 2 : if (!quiet)</span></a> -<a name="443"><span class="lineNum"> 443 </span> :<span class="lineCov"> 2 : dump_hdata_fdt(dt_root);</span></a> -<a name="444"><span class="lineNum"> 444 </span> : : </a> -<a name="445"><span class="lineNum"> 445 </span> :<span class="lineCov"> 2 : dt_free(dt_root);</span></a> -<a name="446"><span class="lineNum"> 446 </span> :<span class="lineCov"> 2 : return 0;</span></a> -<a name="447"><span class="lineNum"> 447 </span> : : }</a> +<a name="366"><span class="lineNum"> 366 </span> : : /* Copy in spira dump (assumes little has changed!). */</a> +<a name="367"><span class="lineNum"> 367 </span> :<span class="lineCov"> 1 : fd = open(argv[1], O_RDONLY);</span></a> +<a name="368"><span class="lineNum"> 368 </span> :<span class="lineCov"> 1 : if (fd < 0)</span></a> +<a name="369"><span class="lineNum"> 369 </span> :<span class="lineNoCov"> 0 : err(1, "opening %s", argv[1]);</span></a> +<a name="370"><span class="lineNum"> 370 </span> :<span class="lineCov"> 1 : r = read(fd, &spirah, sizeof(spirah));</span></a> +<a name="371"><span class="lineNum"> 371 </span> :<span class="lineCov"> 1 : if (r < sizeof(spirah.hdr))</span></a> +<a name="372"><span class="lineNum"> 372 </span> :<span class="lineNoCov"> 0 : err(1, "reading %s gave %i", argv[1], r);</span></a> +<a name="373"><span class="lineNum"> 373 </span> :<span class="lineCov"> 1 : if (verbose)</span></a> +<a name="374"><span class="lineNum"> 374 </span> :<span class="lineNoCov"> 0 : printf("verbose: read spirah %u bytes\n", r);</span></a> +<a name="375"><span class="lineNum"> 375 </span> :<span class="lineCov"> 1 : close(fd);</span></a> +<a name="376"><span class="lineNum"> 376 </span> : : </a> +<a name="377"><span class="lineNum"> 377 </span> :<span class="lineCov"> 1 : undefined_bytes((void *)&spirah + r, sizeof(spirah) - r);</span></a> +<a name="378"><span class="lineNum"> 378 </span> : : </a> +<a name="379"><span class="lineNum"> 379 </span> :<span class="lineCov"> 1 : base_addr = be64_to_cpu(spirah.ntuples.hs_data_area.addr);</span></a> +<a name="380"><span class="lineNum"> 380 </span> :<span class="lineCov"> 1 : if (!base_addr)</span></a> +<a name="381"><span class="lineNum"> 381 </span> :<span class="lineNoCov"> 0 : errx(1, "Invalid base addr");</span></a> +<a name="382"><span class="lineNum"> 382 </span> :<span class="lineCov"> 1 : if (verbose)</span></a> +<a name="383"><span class="lineNum"> 383 </span> :<span class="lineNoCov"> 0 : printf("verbose: map.base_addr = %llx\n", (long long)base_addr);</span></a> +<a name="384"><span class="lineNum"> 384 </span> : : </a> +<a name="385"><span class="lineNum"> 385 </span> :<span class="lineCov"> 1 : fd = open(argv[2], O_RDONLY);</span></a> +<a name="386"><span class="lineNum"> 386 </span> :<span class="lineCov"> 1 : if (fd < 0)</span></a> +<a name="387"><span class="lineNum"> 387 </span> :<span class="lineNoCov"> 0 : err(1, "opening %s", argv[2]);</span></a> +<a name="388"><span class="lineNum"> 388 </span> :<span class="lineCov"> 1 : spira_heap_size = lseek(fd, 0, SEEK_END);</span></a> +<a name="389"><span class="lineNum"> 389 </span> :<span class="lineCov"> 1 : if (spira_heap_size < 0)</span></a> +<a name="390"><span class="lineNum"> 390 </span> :<span class="lineNoCov"> 0 : err(1, "lseek on %s", argv[2]);</span></a> +<a name="391"><span class="lineNum"> 391 </span> :<span class="lineCov"> 1 : spira_heap = mmap(NULL, spira_heap_size, PROT_READ, MAP_SHARED, fd, 0);</span></a> +<a name="392"><span class="lineNum"> 392 </span> :<span class="lineCov"> 1 : if (spira_heap == MAP_FAILED)</span></a> +<a name="393"><span class="lineNum"> 393 </span> :<span class="lineNoCov"> 0 : err(1, "mmaping %s", argv[3]);</span></a> +<a name="394"><span class="lineNum"> 394 </span> :<span class="lineCov"> 1 : if (verbose)</span></a> +<a name="395"><span class="lineNum"> 395 </span> :<span class="lineNoCov"> 0 : printf("verbose: mapped %zu at %p\n",</span></a> +<a name="396"><span class="lineNum"> 396 </span> : : spira_heap_size, spira_heap);</a> +<a name="397"><span class="lineNum"> 397 </span> :<span class="lineCov"> 1 : close(fd);</span></a> +<a name="398"><span class="lineNum"> 398 </span> : : </a> +<a name="399"><span class="lineNum"> 399 </span> : : /* SPIRA-S defined to be at the start of the SPIRA Host Data Area */</a> +<a name="400"><span class="lineNum"> 400 </span> :<span class="lineCov"> 1 : spiras = (struct spiras *)spira_heap;</span></a> +<a name="401"><span class="lineNum"> 401 </span> : : </a> +<a name="402"><span class="lineNum"> 402 </span> :<span class="lineCov"> 1 : if (quiet) {</span></a> +<a name="403"><span class="lineNum"> 403 </span> :<span class="lineNoCov"> 0 : fclose(stdout);</span></a> +<a name="404"><span class="lineNum"> 404 </span> :<span class="lineNoCov"> 0 : fclose(stderr);</span></a> +<a name="405"><span class="lineNum"> 405 </span> : : }</a> +<a name="406"><span class="lineNum"> 406 </span> : : </a> +<a name="407"><span class="lineNum"> 407 </span> :<span class="lineCov"> 1 : dt_root = dt_new_root("");</span></a> +<a name="408"><span class="lineNum"> 408 </span> : : </a> +<a name="409"><span class="lineNum"> 409 </span> :<span class="lineCov"> 1 : if(parse_hdat(false) < 0) {</span></a> +<a name="410"><span class="lineNum"> 410 </span> :<span class="lineNoCov"> 0 : fprintf(stderr, "FATAL ERROR parsing HDAT\n");</span></a> +<a name="411"><span class="lineNum"> 411 </span> :<span class="lineNoCov"> 0 : dt_free(dt_root);</span></a> +<a name="412"><span class="lineNum"> 412 </span> :<span class="lineNoCov"> 0 : exit(EXIT_FAILURE);</span></a> +<a name="413"><span class="lineNum"> 413 </span> : : }</a> +<a name="414"><span class="lineNum"> 414 </span> : : </a> +<a name="415"><span class="lineNum"> 415 </span> :<span class="lineCov"> 1 : mem_region_init();</span></a> +<a name="416"><span class="lineNum"> 416 </span> :<span class="lineCov"> 1 : mem_region_release_unused();</span></a> +<a name="417"><span class="lineNum"> 417 </span> : : </a> +<a name="418"><span class="lineNum"> 418 </span> :<span class="lineCov"> 1 : if (!blobs)</span></a> +<a name="419"><span class="lineNum"> 419 </span> :<span class="lineCov"> 1 : squash_blobs(dt_root);</span></a> +<a name="420"><span class="lineNum"> 420 </span> : : </a> +<a name="421"><span class="lineNum"> 421 </span> :<span class="lineCov"> 1 : if (!quiet)</span></a> +<a name="422"><span class="lineNum"> 422 </span> :<span class="lineCov"> 1 : dump_hdata_fdt(dt_root);</span></a> +<a name="423"><span class="lineNum"> 423 </span> : : </a> +<a name="424"><span class="lineNum"> 424 </span> :<span class="lineCov"> 1 : dt_free(dt_root);</span></a> +<a name="425"><span class="lineNum"> 425 </span> :<span class="lineCov"> 1 : return 0;</span></a> +<a name="426"><span class="lineNum"> 426 </span> : : }</a> </pre> </td> </tr> diff --git a/coverage-report/hdata/test/index-sort-b.html b/coverage-report/hdata/test/index-sort-b.html index 940c43e..e654862 100644 --- a/coverage-report/hdata/test/index-sort-b.html +++ b/coverage-report/hdata/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">105</td> - <td class="headerCovTableEntry">168</td> - <td class="headerCovTableEntryLo">62.5 %</td> + <td class="headerCovTableEntry">92</td> + <td class="headerCovTableEntry">152</td> + <td class="headerCovTableEntryLo">60.5 %</td> </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">8</td> @@ -84,10 +84,10 @@ <tr> <td class="coverFile"><a href="hdata_to_dt.c.gcov.html">hdata_to_dt.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="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=61 height=10 alt="60.5%"><img src="../../snow.png" width=39 height=10 alt="60.5%"></td></tr></table> </td> - <td class="coverPerLo">62.5 %</td> - <td class="coverNumLo">105 / 168</td> + <td class="coverPerLo">60.5 %</td> + <td class="coverNumLo">92 / 152</td> <td class="coverPerLo">57.1 %</td> <td class="coverNumLo">8 / 14</td> <td class="coverPerHi">-</td> diff --git a/coverage-report/hdata/test/index-sort-f.html b/coverage-report/hdata/test/index-sort-f.html index f2d30d0..4c2789b 100644 --- a/coverage-report/hdata/test/index-sort-f.html +++ b/coverage-report/hdata/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">105</td> - <td class="headerCovTableEntry">168</td> - <td class="headerCovTableEntryLo">62.5 %</td> + <td class="headerCovTableEntry">92</td> + <td class="headerCovTableEntry">152</td> + <td class="headerCovTableEntryLo">60.5 %</td> </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">8</td> @@ -84,10 +84,10 @@ <tr> <td class="coverFile"><a href="hdata_to_dt.c.gcov.html">hdata_to_dt.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="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=61 height=10 alt="60.5%"><img src="../../snow.png" width=39 height=10 alt="60.5%"></td></tr></table> </td> - <td class="coverPerLo">62.5 %</td> - <td class="coverNumLo">105 / 168</td> + <td class="coverPerLo">60.5 %</td> + <td class="coverNumLo">92 / 152</td> <td class="coverPerLo">57.1 %</td> <td class="coverNumLo">8 / 14</td> <td class="coverPerHi">-</td> diff --git a/coverage-report/hdata/test/index-sort-l.html b/coverage-report/hdata/test/index-sort-l.html index 490d22f..089d24f 100644 --- a/coverage-report/hdata/test/index-sort-l.html +++ b/coverage-report/hdata/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">105</td> - <td class="headerCovTableEntry">168</td> - <td class="headerCovTableEntryLo">62.5 %</td> + <td class="headerCovTableEntry">92</td> + <td class="headerCovTableEntry">152</td> + <td class="headerCovTableEntryLo">60.5 %</td> </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">8</td> @@ -84,10 +84,10 @@ <tr> <td class="coverFile"><a href="hdata_to_dt.c.gcov.html">hdata_to_dt.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="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=61 height=10 alt="60.5%"><img src="../../snow.png" width=39 height=10 alt="60.5%"></td></tr></table> </td> - <td class="coverPerLo">62.5 %</td> - <td class="coverNumLo">105 / 168</td> + <td class="coverPerLo">60.5 %</td> + <td class="coverNumLo">92 / 152</td> <td class="coverPerLo">57.1 %</td> <td class="coverNumLo">8 / 14</td> <td class="coverPerHi">-</td> diff --git a/coverage-report/hdata/test/index.html b/coverage-report/hdata/test/index.html index 2d814b4..b34c417 100644 --- a/coverage-report/hdata/test/index.html +++ b/coverage-report/hdata/test/index.html @@ -31,13 +31,13 @@ <td class="headerValue">skiboot.info</td> <td></td> <td class="headerItem">Lines:</td> - <td class="headerCovTableEntry">105</td> - <td class="headerCovTableEntry">168</td> - <td class="headerCovTableEntryLo">62.5 %</td> + <td class="headerCovTableEntry">92</td> + <td class="headerCovTableEntry">152</td> + <td class="headerCovTableEntryLo">60.5 %</td> </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">8</td> @@ -84,10 +84,10 @@ <tr> <td class="coverFile"><a href="hdata_to_dt.c.gcov.html">hdata_to_dt.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="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=61 height=10 alt="60.5%"><img src="../../snow.png" width=39 height=10 alt="60.5%"></td></tr></table> </td> - <td class="coverPerLo">62.5 %</td> - <td class="coverNumLo">105 / 168</td> + <td class="coverPerLo">60.5 %</td> + <td class="coverNumLo">92 / 152</td> <td class="coverPerLo">57.1 %</td> <td class="coverNumLo">8 / 14</td> <td class="coverPerHi">-</td> diff --git a/coverage-report/hdata/tpmrel.c.func-sort-c.html b/coverage-report/hdata/tpmrel.c.func-sort-c.html index b64c69f..adee2ba 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 ff66e47..2cba8fc 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 4746477..db17ec1 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">0</td> @@ -280,7 +280,7 @@ <a name="209"><span class="lineNum"> 209 </span> : : {</a> <a name="210"><span class="lineNum"> 210 </span> : : struct HDIF_common_hdr *hdif_hdr;</a> <a name="211"><span class="lineNum"> 211 </span> : : </a> -<a name="212"><span class="lineNum"> 212 </span> :<span class="lineNoCov"> 0 : hdif_hdr = get_hdif(&spira.ntuples.node_stb_data, STB_HDIF_SIG);</span></a> +<a name="212"><span class="lineNum"> 212 </span> :<span class="lineNoCov"> 0 : hdif_hdr = get_hdif(&spiras->ntuples.node_stb_data, STB_HDIF_SIG);</span></a> <a name="213"><span class="lineNum"> 213 </span> :<span class="lineNoCov"> 0 : if (!hdif_hdr) {</span></a> <a name="214"><span class="lineNum"> 214 </span> :<span class="lineNoCov"> 0 : prlog(PR_DEBUG, "TPMREL data not found\n");</span></a> <a name="215"><span class="lineNum"> 215 </span> :<span class="lineNoCov"> 0 : return;</span></a> 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 49f3ee1..5ba5173 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">1</td> @@ -70,7 +70,7 @@ </tr> <tr> <td class="coverFn"><a href="vpd-common.c.gcov.html#16">machine_info_lookup</a></td> - <td class="coverFnHi">2</td> + <td class="coverFnHi">1</td> </tr> </table> <br> diff --git a/coverage-report/hdata/vpd-common.c.func.html b/coverage-report/hdata/vpd-common.c.func.html index 5a76c48..6e12d9d 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">1</td> @@ -70,7 +70,7 @@ </tr> <tr> <td class="coverFn"><a href="vpd-common.c.gcov.html#16">machine_info_lookup</a></td> - <td class="coverFnHi">2</td> + <td class="coverFnHi">1</td> </tr> </table> <br> diff --git a/coverage-report/hdata/vpd-common.c.gcov.html b/coverage-report/hdata/vpd-common.c.gcov.html index 94c3f95..10687f3 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">1</td> @@ -86,12 +86,12 @@ <a name="15"><span class="lineNum"> 15 </span> : : {"8286-42A", "IBM Power System S824"},</a> <a name="16"><span class="lineNum"> 16 </span> : : };</a> <a name="17"><span class="lineNum"> 17 </span> : : </a> -<a name="18"><span class="lineNum"> 18 </span> :<span class="lineCov"> 2 : const struct machine_info *machine_info_lookup(const char *mtm)</span></a> +<a name="18"><span class="lineNum"> 18 </span> :<span class="lineCov"> 1 : const struct machine_info *machine_info_lookup(const char *mtm)</span></a> <a name="19"><span class="lineNum"> 19 </span> : : {</a> <a name="20"><span class="lineNum"> 20 </span> : : int i;</a> -<a name="21"><span class="lineNum"> 21 </span> :<span class="lineCov"> 6 : for(i = 0; i < ARRAY_SIZE(machine_table); i++)</span></a> -<a name="22"><span class="lineNum"> 22 </span> :<span class="lineCov"> 6 : if (!strcmp(machine_table[i].mtm, mtm))</span></a> -<a name="23"><span class="lineNum"> 23 </span> :<span class="lineCov"> 2 : return &machine_table[i];</span></a> +<a name="21"><span class="lineNum"> 21 </span> :<span class="lineCov"> 4 : for(i = 0; i < ARRAY_SIZE(machine_table); i++)</span></a> +<a name="22"><span class="lineNum"> 22 </span> :<span class="lineCov"> 4 : if (!strcmp(machine_table[i].mtm, mtm))</span></a> +<a name="23"><span class="lineNum"> 23 </span> :<span class="lineCov"> 1 : return &machine_table[i];</span></a> <a name="24"><span class="lineNum"> 24 </span> :<span class="lineNoCov"> 0 : return NULL;</span></a> <a name="25"><span class="lineNum"> 25 </span> : : }</a> </pre> diff --git a/coverage-report/hdata/vpd.c.func-sort-c.html b/coverage-report/hdata/vpd.c.func-sort-c.html index 1c2ed81..239f3f5 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">208</td> - <td class="headerCovTableEntry">274</td> - <td class="headerCovTableEntryMed">75.9 %</td> + <td class="headerCovTableEntry">207</td> + <td class="headerCovTableEntry">273</td> + <td class="headerCovTableEntryMed">75.8 %</td> </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">17</td> @@ -78,71 +78,71 @@ </tr> <tr> <td class="coverFn"><a href="vpd.c.gcov.html#542">dt_add_model_name</a></td> - <td class="coverFnHi">2</td> + <td class="coverFnHi">1</td> </tr> <tr> <td class="coverFn"><a href="vpd.c.gcov.html#408">dt_init_vpd_node</a></td> - <td class="coverFnHi">2</td> + <td class="coverFnHi">1</td> </tr> <tr> <td class="coverFn"><a href="vpd.c.gcov.html#678">iohub_vpd_parse</a></td> - <td class="coverFnHi">2</td> + <td class="coverFnHi">1</td> + </tr> + <tr> + <td class="coverFn"><a href="vpd.c.gcov.html#656">iokid_vpd_parse</a></td> + <td class="coverFnHi">1</td> </tr> <tr> <td class="coverFn"><a href="vpd.c.gcov.html#619">sysvpd_parse</a></td> - <td class="coverFnHi">2</td> + <td class="coverFnHi">1</td> </tr> <tr> <td class="coverFn"><a href="vpd.c.gcov.html#593">sysvpd_parse_legacy</a></td> - <td class="coverFnHi">2</td> + <td class="coverFnHi">1</td> </tr> <tr> <td class="coverFn"><a href="vpd.c.gcov.html#725">vpd_parse</a></td> - <td class="coverFnHi">2</td> - </tr> - <tr> - <td class="coverFn"><a href="vpd.c.gcov.html#656">iokid_vpd_parse</a></td> - <td class="coverFnHi">3</td> + <td class="coverFnHi">1</td> </tr> <tr> <td class="coverFn"><a href="vpd.c.gcov.html#242">dt_add_proc_vendor</a></td> - <td class="coverFnHi">6</td> + <td class="coverFnHi">2</td> </tr> <tr> <td class="coverFn"><a href="vpd.c.gcov.html#295">vpd_vrml_parse</a></td> - <td class="coverFnHi">6</td> + <td class="coverFnHi">2</td> </tr> <tr> <td class="coverFn"><a href="vpd.c.gcov.html#712">_vpd_parse</a></td> - <td class="coverFnHi">14</td> + <td class="coverFnHi">6</td> </tr> <tr> <td class="coverFn"><a href="vpd.c.gcov.html#202">card_info_lookup</a></td> - <td class="coverFnHi">24</td> + <td class="coverFnHi">10</td> </tr> <tr> <td class="coverFn"><a href="vpd.c.gcov.html#314">vpd_vini_parse</a></td> - <td class="coverFnHi">24</td> + <td class="coverFnHi">10</td> </tr> <tr> <td class="coverFn"><a href="vpd.c.gcov.html#492">dt_add_vpd_node</a></td> - <td class="coverFnHi">27</td> + <td class="coverFnHi">11</td> </tr> <tr> <td class="coverFn"><a href="vpd.c.gcov.html#397">vpd_data_parse</a></td> - <td class="coverFnHi">30</td> + <td class="coverFnHi">12</td> </tr> <tr> - <td class="coverFn"><a href="vpd.c.gcov.html#388">valid_child_entry</a></td> - <td class="coverFnHi">139</td> + <td class="coverFn"><a href="vpd.c.gcov.html#188">vpd_map_name</a></td> + <td class="coverFnHi">68</td> </tr> <tr> - <td class="coverFn"><a href="vpd.c.gcov.html#188">vpd_map_name</a></td> - <td class="coverFnHi">157</td> + <td class="coverFn"><a href="vpd.c.gcov.html#388">valid_child_entry</a></td> + <td class="coverFnHi">69</td> </tr> <tr> <td class="coverFn"><a href="vpd.c.gcov.html#213">dt_add_prop_sanitize_val</a></td> - <td class="coverFnHi">218</td> + <td class="coverFnHi">90</td> </tr> </table> <br> diff --git a/coverage-report/hdata/vpd.c.func.html b/coverage-report/hdata/vpd.c.func.html index 447b3bf..ff8aea8 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">208</td> - <td class="headerCovTableEntry">274</td> - <td class="headerCovTableEntryMed">75.9 %</td> + <td class="headerCovTableEntry">207</td> + <td class="headerCovTableEntry">273</td> + <td class="headerCovTableEntryMed">75.8 %</td> </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">17</td> @@ -70,47 +70,47 @@ </tr> <tr> <td class="coverFn"><a href="vpd.c.gcov.html#712">_vpd_parse</a></td> - <td class="coverFnHi">14</td> + <td class="coverFnHi">6</td> </tr> <tr> <td class="coverFn"><a href="vpd.c.gcov.html#202">card_info_lookup</a></td> - <td class="coverFnHi">24</td> + <td class="coverFnHi">10</td> </tr> <tr> <td class="coverFn"><a href="vpd.c.gcov.html#542">dt_add_model_name</a></td> - <td class="coverFnHi">2</td> + <td class="coverFnHi">1</td> </tr> <tr> <td class="coverFn"><a href="vpd.c.gcov.html#242">dt_add_proc_vendor</a></td> - <td class="coverFnHi">6</td> + <td class="coverFnHi">2</td> </tr> <tr> <td class="coverFn"><a href="vpd.c.gcov.html#213">dt_add_prop_sanitize_val</a></td> - <td class="coverFnHi">218</td> + <td class="coverFnHi">90</td> </tr> <tr> <td class="coverFn"><a href="vpd.c.gcov.html#492">dt_add_vpd_node</a></td> - <td class="coverFnHi">27</td> + <td class="coverFnHi">11</td> </tr> <tr> <td class="coverFn"><a href="vpd.c.gcov.html#408">dt_init_vpd_node</a></td> - <td class="coverFnHi">2</td> + <td class="coverFnHi">1</td> </tr> <tr> <td class="coverFn"><a href="vpd.c.gcov.html#678">iohub_vpd_parse</a></td> - <td class="coverFnHi">2</td> + <td class="coverFnHi">1</td> </tr> <tr> <td class="coverFn"><a href="vpd.c.gcov.html#656">iokid_vpd_parse</a></td> - <td class="coverFnHi">3</td> + <td class="coverFnHi">1</td> </tr> <tr> <td class="coverFn"><a href="vpd.c.gcov.html#619">sysvpd_parse</a></td> - <td class="coverFnHi">2</td> + <td class="coverFnHi">1</td> </tr> <tr> <td class="coverFn"><a href="vpd.c.gcov.html#593">sysvpd_parse_legacy</a></td> - <td class="coverFnHi">2</td> + <td class="coverFnHi">1</td> </tr> <tr> <td class="coverFn"><a href="vpd.c.gcov.html#574">sysvpd_parse_opp</a></td> @@ -118,15 +118,15 @@ </tr> <tr> <td class="coverFn"><a href="vpd.c.gcov.html#388">valid_child_entry</a></td> - <td class="coverFnHi">139</td> + <td class="coverFnHi">69</td> </tr> <tr> <td class="coverFn"><a href="vpd.c.gcov.html#397">vpd_data_parse</a></td> - <td class="coverFnHi">30</td> + <td class="coverFnHi">12</td> </tr> <tr> <td class="coverFn"><a href="vpd.c.gcov.html#188">vpd_map_name</a></td> - <td class="coverFnHi">157</td> + <td class="coverFnHi">68</td> </tr> <tr> <td class="coverFn"><a href="vpd.c.gcov.html#258">vpd_opfr_parse</a></td> @@ -134,15 +134,15 @@ </tr> <tr> <td class="coverFn"><a href="vpd.c.gcov.html#725">vpd_parse</a></td> - <td class="coverFnHi">2</td> + <td class="coverFnHi">1</td> </tr> <tr> <td class="coverFn"><a href="vpd.c.gcov.html#314">vpd_vini_parse</a></td> - <td class="coverFnHi">24</td> + <td class="coverFnHi">10</td> </tr> <tr> <td class="coverFn"><a href="vpd.c.gcov.html#295">vpd_vrml_parse</a></td> - <td class="coverFnHi">6</td> + <td class="coverFnHi">2</td> </tr> </table> <br> diff --git a/coverage-report/hdata/vpd.c.gcov.html b/coverage-report/hdata/vpd.c.gcov.html index 7ef1e10..ef865be 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">208</td> - <td class="headerCovTableEntry">274</td> - <td class="headerCovTableEntryMed">75.9 %</td> + <td class="headerCovTableEntry">207</td> + <td class="headerCovTableEntry">273</td> + <td class="headerCovTableEntryMed">75.8 %</td> </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">17</td> @@ -258,13 +258,13 @@ <a name="187"><span class="lineNum"> 187 </span> : : {"WD", "water_device"},</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> :<span class="lineCov"> 157 : static const char *vpd_map_name(const char *vpd_name)</span></a> +<a name="190"><span class="lineNum"> 190 </span> :<span class="lineCov"> 68 : static const char *vpd_map_name(const char *vpd_name)</span></a> <a name="191"><span class="lineNum"> 191 </span> : : {</a> <a name="192"><span class="lineNum"> 192 </span> : : int i;</a> <a name="193"><span class="lineNum"> 193 </span> : : </a> -<a name="194"><span class="lineNum"> 194 </span> :<span class="lineCov"> 5430 : for (i = 0; i < ARRAY_SIZE(vpd_key_table); i++)</span></a> -<a name="195"><span class="lineNum"> 195 </span> :<span class="lineCov"> 5430 : if (!strcmp(vpd_key_table[i].keyword, vpd_name))</span></a> -<a name="196"><span class="lineNum"> 196 </span> :<span class="lineCov"> 157 : return vpd_key_table[i].description;</span></a> +<a name="194"><span class="lineNum"> 194 </span> :<span class="lineCov"> 2324 : for (i = 0; i < ARRAY_SIZE(vpd_key_table); i++)</span></a> +<a name="195"><span class="lineNum"> 195 </span> :<span class="lineCov"> 2324 : if (!strcmp(vpd_key_table[i].keyword, vpd_name))</span></a> +<a name="196"><span class="lineNum"> 196 </span> :<span class="lineCov"> 68 : return vpd_key_table[i].description;</span></a> <a name="197"><span class="lineNum"> 197 </span> : : </a> <a name="198"><span class="lineNum"> 198 </span> :<span class="lineNoCov"> 0 : prlog(PR_WARNING, "VPD: Could not map FRU ID %s to a known name\n",</span></a> <a name="199"><span class="lineNum"> 199 </span> : : vpd_name);</a> @@ -272,56 +272,56 @@ <a name="201"><span class="lineNum"> 201 </span> :<span class="lineNoCov"> 0 : return "Unknown";</span></a> <a name="202"><span class="lineNum"> 202 </span> : : }</a> <a name="203"><span class="lineNum"> 203 </span> : : </a> -<a name="204"><span class="lineNum"> 204 </span> :<span class="lineCov"> 24 : static const struct card_info *card_info_lookup(char *ccin)</span></a> +<a name="204"><span class="lineNum"> 204 </span> :<span class="lineCov"> 10 : static const struct card_info *card_info_lookup(char *ccin)</span></a> <a name="205"><span class="lineNum"> 205 </span> : : {</a> <a name="206"><span class="lineNum"> 206 </span> : : int i;</a> -<a name="207"><span class="lineNum"> 207 </span> :<span class="lineCov"> 474 : for(i = 0; i < ARRAY_SIZE(card_table); i++)</span></a> +<a name="207"><span class="lineNum"> 207 </span> :<span class="lineCov"> 177 : for(i = 0; i < ARRAY_SIZE(card_table); i++)</span></a> <a name="208"><span class="lineNum"> 208 </span> : : /* CCIN is always 4 bytes in size */</a> -<a name="209"><span class="lineNum"> 209 </span> :<span class="lineCov"> 466 : if (!strncmp(card_table[i].ccin, ccin, 4))</span></a> -<a name="210"><span class="lineNum"> 210 </span> :<span class="lineCov"> 16 : return &card_table[i];</span></a> -<a name="211"><span class="lineNum"> 211 </span> :<span class="lineCov"> 8 : return NULL;</span></a> +<a name="209"><span class="lineNum"> 209 </span> :<span class="lineCov"> 174 : if (!strncmp(card_table[i].ccin, ccin, 4))</span></a> +<a name="210"><span class="lineNum"> 210 </span> :<span class="lineCov"> 7 : return &card_table[i];</span></a> +<a name="211"><span class="lineNum"> 211 </span> :<span class="lineCov"> 3 : return NULL;</span></a> <a name="212"><span class="lineNum"> 212 </span> : : }</a> <a name="213"><span class="lineNum"> 213 </span> : : </a> <a name="214"><span class="lineNum"> 214 </span> : : /* Discard trailing spaces and populate device tree */</a> -<a name="215"><span class="lineNum"> 215 </span> :<span class="lineCov"> 218 : static struct dt_property *dt_add_prop_sanitize_val(struct dt_node *node,</span></a> +<a name="215"><span class="lineNum"> 215 </span> :<span class="lineCov"> 90 : static struct dt_property *dt_add_prop_sanitize_val(struct dt_node *node,</span></a> <a name="216"><span class="lineNum"> 216 </span> : : const char *name, const char *val, int vlen)</a> <a name="217"><span class="lineNum"> 217 </span> : : {</a> -<a name="218"><span class="lineNum"> 218 </span> :<span class="lineCov"> 218 : char *prop = zalloc(vlen + 1);</span></a> +<a name="218"><span class="lineNum"> 218 </span> :<span class="lineCov"> 90 : char *prop = zalloc(vlen + 1);</span></a> <a name="219"><span class="lineNum"> 219 </span> : : int i;</a> -<a name="220"><span class="lineNum"> 220 </span> :<span class="lineCov"> 218 : struct dt_property *p = NULL;</span></a> +<a name="220"><span class="lineNum"> 220 </span> :<span class="lineCov"> 90 : struct dt_property *p = NULL;</span></a> <a name="221"><span class="lineNum"> 221 </span> : : </a> -<a name="222"><span class="lineNum"> 222 </span> :<span class="lineCov"> 218 : if (!prop)</span></a> +<a name="222"><span class="lineNum"> 222 </span> :<span class="lineCov"> 90 : if (!prop)</span></a> <a name="223"><span class="lineNum"> 223 </span> :<span class="lineNoCov"> 0 : return p;</span></a> <a name="224"><span class="lineNum"> 224 </span> : : </a> -<a name="225"><span class="lineNum"> 225 </span> :<span class="lineCov"> 218 : memcpy(prop, val, vlen);</span></a> -<a name="226"><span class="lineNum"> 226 </span> :<span class="lineCov"> 226 : for (i = vlen - 1; i >= 0; i--) {</span></a> -<a name="227"><span class="lineNum"> 227 </span> :<span class="lineCov"> 226 : if (prop[i] != 0x20) {</span></a> -<a name="228"><span class="lineNum"> 228 </span> :<span class="lineCov"> 218 : prop[i + 1] = '\0';</span></a> -<a name="229"><span class="lineNum"> 229 </span> :<span class="lineCov"> 218 : break;</span></a> +<a name="225"><span class="lineNum"> 225 </span> :<span class="lineCov"> 90 : memcpy(prop, val, vlen);</span></a> +<a name="226"><span class="lineNum"> 226 </span> :<span class="lineCov"> 94 : for (i = vlen - 1; i >= 0; i--) {</span></a> +<a name="227"><span class="lineNum"> 227 </span> :<span class="lineCov"> 94 : if (prop[i] != 0x20) {</span></a> +<a name="228"><span class="lineNum"> 228 </span> :<span class="lineCov"> 90 : prop[i + 1] = '\0';</span></a> +<a name="229"><span class="lineNum"> 229 </span> :<span class="lineCov"> 90 : break;</span></a> <a name="230"><span class="lineNum"> 230 </span> : : }</a> <a name="231"><span class="lineNum"> 231 </span> : : }</a> <a name="232"><span class="lineNum"> 232 </span> : : </a> -<a name="233"><span class="lineNum"> 233 </span> :<span class="lineCov"> 218 : if (i >= 0 && !dt_find_property(node, name))</span></a> -<a name="234"><span class="lineNum"> 234 </span> :<span class="lineCov"> 218 : p = dt_add_property_string(node, name, prop);</span></a> +<a name="233"><span class="lineNum"> 233 </span> :<span class="lineCov"> 90 : if (i >= 0 && !dt_find_property(node, name))</span></a> +<a name="234"><span class="lineNum"> 234 </span> :<span class="lineCov"> 90 : p = dt_add_property_string(node, name, prop);</span></a> <a name="235"><span class="lineNum"> 235 </span> : : </a> -<a name="236"><span class="lineNum"> 236 </span> :<span class="lineCov"> 218 : free(prop);</span></a> -<a name="237"><span class="lineNum"> 237 </span> :<span class="lineCov"> 218 : return p;</span></a> +<a name="236"><span class="lineNum"> 236 </span> :<span class="lineCov"> 90 : free(prop);</span></a> +<a name="237"><span class="lineNum"> 237 </span> :<span class="lineCov"> 90 : return p;</span></a> <a name="238"><span class="lineNum"> 238 </span> : : }</a> <a name="239"><span class="lineNum"> 239 </span> : : </a> <a name="240"><span class="lineNum"> 240 </span> : : /*</a> <a name="241"><span class="lineNum"> 241 </span> : : * OpenPower system does not provide processor vendor name under FRU VPD.</a> <a name="242"><span class="lineNum"> 242 </span> : : * Parse processor module VPD to get vendor detail</a> <a name="243"><span class="lineNum"> 243 </span> : : */</a> -<a name="244"><span class="lineNum"> 244 </span> :<span class="lineCov"> 6 : void dt_add_proc_vendor(struct dt_node *proc_node,</span></a> +<a name="244"><span class="lineNum"> 244 </span> :<span class="lineCov"> 2 : void dt_add_proc_vendor(struct dt_node *proc_node,</span></a> <a name="245"><span class="lineNum"> 245 </span> : : const void *mvpd, unsigned int mvpd_sz)</a> <a name="246"><span class="lineNum"> 246 </span> : : {</a> <a name="247"><span class="lineNum"> 247 </span> : : const void *kw;</a> <a name="248"><span class="lineNum"> 248 </span> : : uint8_t sz;</a> <a name="249"><span class="lineNum"> 249 </span> : : </a> -<a name="250"><span class="lineNum"> 250 </span> :<span class="lineCov"> 6 : kw = vpd_find(mvpd, mvpd_sz, "VINI", "VN", &sz);</span></a> -<a name="251"><span class="lineNum"> 251 </span> :<span class="lineCov"> 6 : if (kw)</span></a> +<a name="250"><span class="lineNum"> 250 </span> :<span class="lineCov"> 2 : kw = vpd_find(mvpd, mvpd_sz, "VINI", "VN", &sz);</span></a> +<a name="251"><span class="lineNum"> 251 </span> :<span class="lineCov"> 2 : if (kw)</span></a> <a name="252"><span class="lineNum"> 252 </span> :<span class="lineNoCov"> 0 : dt_add_prop_sanitize_val(proc_node, "vendor", kw, sz);</span></a> -<a name="253"><span class="lineNum"> 253 </span> :<span class="lineCov"> 6 : }</span></a> +<a name="253"><span class="lineNum"> 253 </span> :<span class="lineCov"> 2 : }</span></a> <a name="254"><span class="lineNum"> 254 </span> : : </a> <a name="255"><span class="lineNum"> 255 </span> : : /*</a> <a name="256"><span class="lineNum"> 256 </span> : : * For OpenPOWER, we only decipher OPFR records. While OP HDAT have VINI</a> @@ -365,26 +365,26 @@ <a name="294"><span class="lineNum"> 294 </span> : : /*</a> <a name="295"><span class="lineNum"> 295 </span> : : * For CPUs, parse the VRML data.</a> <a name="296"><span class="lineNum"> 296 </span> : : */</a> -<a name="297"><span class="lineNum"> 297 </span> :<span class="lineCov"> 6 : static void vpd_vrml_parse(struct dt_node *node,</span></a> +<a name="297"><span class="lineNum"> 297 </span> :<span class="lineCov"> 2 : static void vpd_vrml_parse(struct dt_node *node,</span></a> <a name="298"><span class="lineNum"> 298 </span> : : const void *fruvpd, unsigned int fruvpd_sz)</a> <a name="299"><span class="lineNum"> 299 </span> : : {</a> <a name="300"><span class="lineNum"> 300 </span> : : const void *kw;</a> <a name="301"><span class="lineNum"> 301 </span> : : uint8_t sz;</a> <a name="302"><span class="lineNum"> 302 </span> : : </a> <a name="303"><span class="lineNum"> 303 </span> : : /* Part number */</a> -<a name="304"><span class="lineNum"> 304 </span> :<span class="lineCov"> 6 : kw = vpd_find(fruvpd, fruvpd_sz, "VRML", "PN", &sz);</span></a> -<a name="305"><span class="lineNum"> 305 </span> :<span class="lineCov"> 6 : if (kw)</span></a> -<a name="306"><span class="lineNum"> 306 </span> :<span class="lineCov"> 6 : dt_add_prop_sanitize_val(node, "part-number", kw, sz);</span></a> +<a name="304"><span class="lineNum"> 304 </span> :<span class="lineCov"> 2 : kw = vpd_find(fruvpd, fruvpd_sz, "VRML", "PN", &sz);</span></a> +<a name="305"><span class="lineNum"> 305 </span> :<span class="lineCov"> 2 : if (kw)</span></a> +<a name="306"><span class="lineNum"> 306 </span> :<span class="lineCov"> 2 : dt_add_prop_sanitize_val(node, "part-number", kw, sz);</span></a> <a name="307"><span class="lineNum"> 307 </span> : : </a> <a name="308"><span class="lineNum"> 308 </span> : : /* Serial number */</a> -<a name="309"><span class="lineNum"> 309 </span> :<span class="lineCov"> 6 : kw = vpd_find(fruvpd, fruvpd_sz, "VRML", "SN", &sz);</span></a> -<a name="310"><span class="lineNum"> 310 </span> :<span class="lineCov"> 6 : if (kw)</span></a> -<a name="311"><span class="lineNum"> 311 </span> :<span class="lineCov"> 6 : dt_add_prop_sanitize_val(node, "serial-number", kw, sz);</span></a> +<a name="309"><span class="lineNum"> 309 </span> :<span class="lineCov"> 2 : kw = vpd_find(fruvpd, fruvpd_sz, "VRML", "SN", &sz);</span></a> +<a name="310"><span class="lineNum"> 310 </span> :<span class="lineCov"> 2 : if (kw)</span></a> +<a name="311"><span class="lineNum"> 311 </span> :<span class="lineCov"> 2 : dt_add_prop_sanitize_val(node, "serial-number", kw, sz);</span></a> <a name="312"><span class="lineNum"> 312 </span> : : </a> -<a name="313"><span class="lineNum"> 313 </span> :<span class="lineCov"> 6 : return;</span></a> +<a name="313"><span class="lineNum"> 313 </span> :<span class="lineCov"> 2 : return;</span></a> <a name="314"><span class="lineNum"> 314 </span> : : }</a> <a name="315"><span class="lineNum"> 315 </span> : : </a> -<a name="316"><span class="lineNum"> 316 </span> :<span class="lineCov"> 24 : static void vpd_vini_parse(struct dt_node *node,</span></a> +<a name="316"><span class="lineNum"> 316 </span> :<span class="lineCov"> 10 : static void vpd_vini_parse(struct dt_node *node,</span></a> <a name="317"><span class="lineNum"> 317 </span> : : const void *fruvpd, unsigned int fruvpd_sz)</a> <a name="318"><span class="lineNum"> 318 </span> : : {</a> <a name="319"><span class="lineNum"> 319 </span> : : const void *kw;</a> @@ -393,58 +393,58 @@ <a name="322"><span class="lineNum"> 322 </span> : : const struct card_info *cinfo;</a> <a name="323"><span class="lineNum"> 323 </span> : : </a> <a name="324"><span class="lineNum"> 324 </span> : : /* FRU Stocking Part Number */</a> -<a name="325"><span class="lineNum"> 325 </span> :<span class="lineCov"> 24 : kw = vpd_find(fruvpd, fruvpd_sz, "VINI", "FN", &sz);</span></a> -<a name="326"><span class="lineNum"> 326 </span> :<span class="lineCov"> 24 : if (kw)</span></a> -<a name="327"><span class="lineNum"> 327 </span> :<span class="lineCov"> 24 : dt_add_prop_sanitize_val(node, "fru-number", kw, sz);</span></a> +<a name="325"><span class="lineNum"> 325 </span> :<span class="lineCov"> 10 : kw = vpd_find(fruvpd, fruvpd_sz, "VINI", "FN", &sz);</span></a> +<a name="326"><span class="lineNum"> 326 </span> :<span class="lineCov"> 10 : if (kw)</span></a> +<a name="327"><span class="lineNum"> 327 </span> :<span class="lineCov"> 10 : dt_add_prop_sanitize_val(node, "fru-number", kw, sz);</span></a> <a name="328"><span class="lineNum"> 328 </span> : : </a> <a name="329"><span class="lineNum"> 329 </span> : : /* Serial Number */</a> -<a name="330"><span class="lineNum"> 330 </span> :<span class="lineCov"> 24 : kw = vpd_find(fruvpd, fruvpd_sz, "VINI", "SN", &sz);</span></a> -<a name="331"><span class="lineNum"> 331 </span> :<span class="lineCov"> 24 : if (kw)</span></a> -<a name="332"><span class="lineNum"> 332 </span> :<span class="lineCov"> 24 : dt_add_prop_sanitize_val(node, "serial-number", kw, sz);</span></a> +<a name="330"><span class="lineNum"> 330 </span> :<span class="lineCov"> 10 : kw = vpd_find(fruvpd, fruvpd_sz, "VINI", "SN", &sz);</span></a> +<a name="331"><span class="lineNum"> 331 </span> :<span class="lineCov"> 10 : if (kw)</span></a> +<a name="332"><span class="lineNum"> 332 </span> :<span class="lineCov"> 10 : dt_add_prop_sanitize_val(node, "serial-number", kw, sz);</span></a> <a name="333"><span class="lineNum"> 333 </span> : : </a> <a name="334"><span class="lineNum"> 334 </span> : : /* Part Number */</a> -<a name="335"><span class="lineNum"> 335 </span> :<span class="lineCov"> 24 : kw = vpd_find(fruvpd, fruvpd_sz, "VINI", "PN", &sz);</span></a> -<a name="336"><span class="lineNum"> 336 </span> :<span class="lineCov"> 24 : if (kw)</span></a> -<a name="337"><span class="lineNum"> 337 </span> :<span class="lineCov"> 24 : dt_add_prop_sanitize_val(node, "part-number", kw, sz);</span></a> +<a name="335"><span class="lineNum"> 335 </span> :<span class="lineCov"> 10 : kw = vpd_find(fruvpd, fruvpd_sz, "VINI", "PN", &sz);</span></a> +<a name="336"><span class="lineNum"> 336 </span> :<span class="lineCov"> 10 : if (kw)</span></a> +<a name="337"><span class="lineNum"> 337 </span> :<span class="lineCov"> 10 : dt_add_prop_sanitize_val(node, "part-number", kw, sz);</span></a> <a name="338"><span class="lineNum"> 338 </span> : : </a> <a name="339"><span class="lineNum"> 339 </span> : : /* Vendor Name */</a> -<a name="340"><span class="lineNum"> 340 </span> :<span class="lineCov"> 24 : kw = vpd_find(fruvpd, fruvpd_sz, "VINI", "VN", &sz);</span></a> -<a name="341"><span class="lineNum"> 341 </span> :<span class="lineCov"> 24 : if (kw)</span></a> +<a name="340"><span class="lineNum"> 340 </span> :<span class="lineCov"> 10 : kw = vpd_find(fruvpd, fruvpd_sz, "VINI", "VN", &sz);</span></a> +<a name="341"><span class="lineNum"> 341 </span> :<span class="lineCov"> 10 : if (kw)</span></a> <a name="342"><span class="lineNum"> 342 </span> :<span class="lineNoCov"> 0 : dt_add_prop_sanitize_val(node, "vendor", kw, sz);</span></a> <a name="343"><span class="lineNum"> 343 </span> : : </a> <a name="344"><span class="lineNum"> 344 </span> : : /* CCIN Extension */</a> -<a name="345"><span class="lineNum"> 345 </span> :<span class="lineCov"> 24 : kw = vpd_find(fruvpd, fruvpd_sz, "VINI", "CE", &sz);</span></a> -<a name="346"><span class="lineNum"> 346 </span> :<span class="lineCov"> 24 : if (kw)</span></a> -<a name="347"><span class="lineNum"> 347 </span> :<span class="lineCov"> 24 : dt_add_prop_sanitize_val(node, "ccin-extension", kw, sz);</span></a> +<a name="345"><span class="lineNum"> 345 </span> :<span class="lineCov"> 10 : kw = vpd_find(fruvpd, fruvpd_sz, "VINI", "CE", &sz);</span></a> +<a name="346"><span class="lineNum"> 346 </span> :<span class="lineCov"> 10 : if (kw)</span></a> +<a name="347"><span class="lineNum"> 347 </span> :<span class="lineCov"> 10 : dt_add_prop_sanitize_val(node, "ccin-extension", kw, sz);</span></a> <a name="348"><span class="lineNum"> 348 </span> : : </a> <a name="349"><span class="lineNum"> 349 </span> : : /* HW Version info */</a> -<a name="350"><span class="lineNum"> 350 </span> :<span class="lineCov"> 24 : kw = vpd_find(fruvpd, fruvpd_sz, "VINI", "HW", &sz);</span></a> -<a name="351"><span class="lineNum"> 351 </span> :<span class="lineCov"> 24 : if (kw)</span></a> -<a name="352"><span class="lineNum"> 352 </span> :<span class="lineCov"> 24 : dt_add_prop_sanitize_val(node, "hw-version", kw, sz);</span></a> +<a name="350"><span class="lineNum"> 350 </span> :<span class="lineCov"> 10 : kw = vpd_find(fruvpd, fruvpd_sz, "VINI", "HW", &sz);</span></a> +<a name="351"><span class="lineNum"> 351 </span> :<span class="lineCov"> 10 : if (kw)</span></a> +<a name="352"><span class="lineNum"> 352 </span> :<span class="lineCov"> 10 : dt_add_prop_sanitize_val(node, "hw-version", kw, sz);</span></a> <a name="353"><span class="lineNum"> 353 </span> : : </a> <a name="354"><span class="lineNum"> 354 </span> : : /* Card type info */</a> -<a name="355"><span class="lineNum"> 355 </span> :<span class="lineCov"> 24 : kw = vpd_find(fruvpd, fruvpd_sz, "VINI", "CT", &sz);</span></a> -<a name="356"><span class="lineNum"> 356 </span> :<span class="lineCov"> 24 : if (kw)</span></a> -<a name="357"><span class="lineNum"> 357 </span> :<span class="lineCov"> 24 : dt_add_prop_sanitize_val(node, "card-type", kw, sz);</span></a> +<a name="355"><span class="lineNum"> 355 </span> :<span class="lineCov"> 10 : kw = vpd_find(fruvpd, fruvpd_sz, "VINI", "CT", &sz);</span></a> +<a name="356"><span class="lineNum"> 356 </span> :<span class="lineCov"> 10 : if (kw)</span></a> +<a name="357"><span class="lineNum"> 357 </span> :<span class="lineCov"> 10 : dt_add_prop_sanitize_val(node, "card-type", kw, sz);</span></a> <a name="358"><span class="lineNum"> 358 </span> : : </a> <a name="359"><span class="lineNum"> 359 </span> : : /* HW characteristics info */</a> -<a name="360"><span class="lineNum"> 360 </span> :<span class="lineCov"> 24 : kw = vpd_find(fruvpd, fruvpd_sz, "VINI", "B3", &sz);</span></a> -<a name="361"><span class="lineNum"> 361 </span> :<span class="lineCov"> 24 : if (kw)</span></a> -<a name="362"><span class="lineNum"> 362 </span> :<span class="lineCov"> 24 : dt_add_prop_sanitize_val(node, "hw-characteristics", kw, sz);</span></a> +<a name="360"><span class="lineNum"> 360 </span> :<span class="lineCov"> 10 : kw = vpd_find(fruvpd, fruvpd_sz, "VINI", "B3", &sz);</span></a> +<a name="361"><span class="lineNum"> 361 </span> :<span class="lineCov"> 10 : if (kw)</span></a> +<a name="362"><span class="lineNum"> 362 </span> :<span class="lineCov"> 10 : dt_add_prop_sanitize_val(node, "hw-characteristics", kw, sz);</span></a> <a name="363"><span class="lineNum"> 363 </span> : : </a> <a name="364"><span class="lineNum"> 364 </span> : : /* Customer Card Identification Number (CCIN) */</a> -<a name="365"><span class="lineNum"> 365 </span> :<span class="lineCov"> 24 : kw = vpd_find(fruvpd, fruvpd_sz, "VINI", "CC", &sz);</span></a> -<a name="366"><span class="lineNum"> 366 </span> :<span class="lineCov"> 24 : if (kw) {</span></a> -<a name="367"><span class="lineNum"> 367 </span> :<span class="lineCov"> 24 : dt_add_prop_sanitize_val(node, "ccin", kw, sz);</span></a> +<a name="365"><span class="lineNum"> 365 </span> :<span class="lineCov"> 10 : kw = vpd_find(fruvpd, fruvpd_sz, "VINI", "CC", &sz);</span></a> +<a name="366"><span class="lineNum"> 366 </span> :<span class="lineCov"> 10 : if (kw) {</span></a> +<a name="367"><span class="lineNum"> 367 </span> :<span class="lineCov"> 10 : dt_add_prop_sanitize_val(node, "ccin", kw, sz);</span></a> <a name="368"><span class="lineNum"> 368 </span> : : </a> -<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> :<span class="lineCov"> 16 : "description", cinfo->description);</span></a> +<a name="369"><span class="lineNum"> 369 </span> :<span class="lineCov"> 10 : cinfo = card_info_lookup((char *)kw);</span></a> +<a name="370"><span class="lineNum"> 370 </span> :<span class="lineCov"> 10 : if (cinfo) {</span></a> +<a name="371"><span class="lineNum"> 371 </span> :<span class="lineCov"> 7 : dt_add_property_string(node,</span></a> +<a name="372"><span class="lineNum"> 372 </span> :<span class="lineCov"> 7 : "description", cinfo->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, "VINI", "DR", &sz);</span></a> -<a name="375"><span class="lineNum"> 375 </span> :<span class="lineCov"> 8 : if (desc) {</span></a> -<a name="376"><span class="lineNum"> 376 </span> :<span class="lineCov"> 8 : dt_add_prop_sanitize_val(node,</span></a> +<a name="374"><span class="lineNum"> 374 </span> :<span class="lineCov"> 3 : desc = vpd_find(fruvpd, fruvpd_sz, "VINI", "DR", &sz);</span></a> +<a name="375"><span class="lineNum"> 375 </span> :<span class="lineCov"> 3 : if (desc) {</span></a> +<a name="376"><span class="lineNum"> 376 </span> :<span class="lineCov"> 3 : dt_add_prop_sanitize_val(node,</span></a> <a name="377"><span class="lineNum"> 377 </span> : : "description", desc, sz);</a> <a name="378"><span class="lineNum"> 378 </span> : : } else {</a> <a name="379"><span class="lineNum"> 379 </span> :<span class="lineNoCov"> 0 : dt_add_property_string(node, "description", "Unknown");</span></a> @@ -455,30 +455,30 @@ <a name="384"><span class="lineNum"> 384 </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> :<span class="lineCov"> 24 : return;</span></a> +<a name="387"><span class="lineNum"> 387 </span> :<span class="lineCov"> 10 : return;</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"> 139 : static bool valid_child_entry(const struct slca_entry *entry)</span></a> +<a name="390"><span class="lineNum"> 390 </span> :<span class="lineCov"> 69 : static bool valid_child_entry(const struct slca_entry *entry)</span></a> <a name="391"><span class="lineNum"> 391 </span> : : {</a> -<a name="392"><span class="lineNum"> 392 </span> :<span class="lineCov"> 139 : if ((entry->install_indic == SLCA_INSTALL_INSTALLED) &&</span></a> -<a name="393"><span class="lineNum"> 393 </span> :<span class="lineCov"> 66 : (entry->vpd_collected == SLCA_VPD_COLLECTED))</span></a> -<a name="394"><span class="lineNum"> 394 </span> :<span class="lineCov"> 66 : return true;</span></a> +<a name="392"><span class="lineNum"> 392 </span> :<span class="lineCov"> 69 : if ((entry->install_indic == SLCA_INSTALL_INSTALLED) &&</span></a> +<a name="393"><span class="lineNum"> 393 </span> :<span class="lineCov"> 29 : (entry->vpd_collected == SLCA_VPD_COLLECTED))</span></a> +<a name="394"><span class="lineNum"> 394 </span> :<span class="lineCov"> 29 : return true;</span></a> <a name="395"><span class="lineNum"> 395 </span> : : </a> -<a name="396"><span class="lineNum"> 396 </span> :<span class="lineCov"> 73 : return false;</span></a> +<a name="396"><span class="lineNum"> 396 </span> :<span class="lineCov"> 40 : return false;</span></a> <a name="397"><span class="lineNum"> 397 </span> : : }</a> <a name="398"><span class="lineNum"> 398 </span> : : </a> -<a name="399"><span class="lineNum"> 399 </span> :<span class="lineCov"> 30 : void vpd_data_parse(struct dt_node *node, const void *fruvpd, u32 fruvpd_sz)</span></a> +<a name="399"><span class="lineNum"> 399 </span> :<span class="lineCov"> 12 : void vpd_data_parse(struct dt_node *node, const void *fruvpd, u32 fruvpd_sz)</span></a> <a name="400"><span class="lineNum"> 400 </span> : : {</a> -<a name="401"><span class="lineNum"> 401 </span> :<span class="lineCov"> 30 : if (vpd_find_record(fruvpd, fruvpd_sz, "OPFR", NULL))</span></a> +<a name="401"><span class="lineNum"> 401 </span> :<span class="lineCov"> 12 : if (vpd_find_record(fruvpd, fruvpd_sz, "OPFR", NULL))</span></a> <a name="402"><span class="lineNum"> 402 </span> :<span class="lineNoCov"> 0 : vpd_opfr_parse(node, fruvpd, fruvpd_sz);</span></a> -<a name="403"><span class="lineNum"> 403 </span> :<span class="lineCov"> 30 : else if (vpd_find_record(fruvpd, fruvpd_sz, "VRML", NULL))</span></a> -<a name="404"><span class="lineNum"> 404 </span> :<span class="lineCov"> 6 : vpd_vrml_parse(node, fruvpd, fruvpd_sz);</span></a> +<a name="403"><span class="lineNum"> 403 </span> :<span class="lineCov"> 12 : else if (vpd_find_record(fruvpd, fruvpd_sz, "VRML", NULL))</span></a> +<a name="404"><span class="lineNum"> 404 </span> :<span class="lineCov"> 2 : vpd_vrml_parse(node, fruvpd, fruvpd_sz);</span></a> <a name="405"><span class="lineNum"> 405 </span> : : else</a> -<a name="406"><span class="lineNum"> 406 </span> :<span class="lineCov"> 24 : vpd_vini_parse(node, fruvpd, fruvpd_sz);</span></a> -<a name="407"><span class="lineNum"> 407 </span> :<span class="lineCov"> 30 : }</span></a> +<a name="406"><span class="lineNum"> 406 </span> :<span class="lineCov"> 10 : vpd_vini_parse(node, fruvpd, fruvpd_sz);</span></a> +<a name="407"><span class="lineNum"> 407 </span> :<span class="lineCov"> 12 : }</span></a> <a name="408"><span class="lineNum"> 408 </span> : : </a> <a name="409"><span class="lineNum"> 409 </span> : : /* Create the /vpd node and add its children */</a> -<a name="410"><span class="lineNum"> 410 </span> :<span class="lineCov"> 2 : void dt_init_vpd_node(void)</span></a> +<a name="410"><span class="lineNum"> 410 </span> :<span class="lineCov"> 1 : void dt_init_vpd_node(void)</span></a> <a name="411"><span class="lineNum"> 411 </span> : : {</a> <a name="412"><span class="lineNum"> 412 </span> : : const char *name, *p_name;</a> <a name="413"><span class="lineNum"> 413 </span> : : int count, index;</a> @@ -488,28 +488,28 @@ <a name="417"><span class="lineNum"> 417 </span> : : struct dt_node *parent, *node;</a> <a name="418"><span class="lineNum"> 418 </span> : : const struct slca_entry *entry, *p_entry;</a> <a name="419"><span class="lineNum"> 419 </span> : : </a> -<a name="420"><span class="lineNum"> 420 </span> :<span class="lineCov"> 2 : dt_vpd = dt_new(dt_root, "vpd");</span></a> -<a name="421"><span class="lineNum"> 421 </span> :<span class="lineCov"> 2 : assert(dt_vpd);</span></a> -<a name="422"><span class="lineNum"> 422 </span> :<span class="lineCov"> 2 : dt_add_property_string(dt_vpd, "compatible", "ibm,opal-v3-vpd");</span></a> -<a name="423"><span class="lineNum"> 423 </span> :<span class="lineCov"> 2 : dt_add_property_cells(dt_vpd, "#size-cells", 0);</span></a> -<a name="424"><span class="lineNum"> 424 </span> :<span class="lineCov"> 2 : dt_add_property_cells(dt_vpd, "#address-cells", 1);</span></a> +<a name="420"><span class="lineNum"> 420 </span> :<span class="lineCov"> 1 : dt_vpd = dt_new(dt_root, "vpd");</span></a> +<a name="421"><span class="lineNum"> 421 </span> :<span class="lineCov"> 1 : assert(dt_vpd);</span></a> +<a name="422"><span class="lineNum"> 422 </span> :<span class="lineCov"> 1 : dt_add_property_string(dt_vpd, "compatible", "ibm,opal-v3-vpd");</span></a> +<a name="423"><span class="lineNum"> 423 </span> :<span class="lineCov"> 1 : dt_add_property_cells(dt_vpd, "#size-cells", 0);</span></a> +<a name="424"><span class="lineNum"> 424 </span> :<span class="lineCov"> 1 : dt_add_property_cells(dt_vpd, "#address-cells", 1);</span></a> <a name="425"><span class="lineNum"> 425 </span> : : </a> -<a name="426"><span class="lineNum"> 426 </span> :<span class="lineCov"> 2 : slca_hdr = get_hdif(&spira.ntuples.slca, SLCA_HDIF_SIG);</span></a> -<a name="427"><span class="lineNum"> 427 </span> :<span class="lineCov"> 2 : if (!slca_hdr) {</span></a> +<a name="426"><span class="lineNum"> 426 </span> :<span class="lineCov"> 1 : slca_hdr = get_hdif(&spiras->ntuples.slca, SLCA_HDIF_SIG);</span></a> +<a name="427"><span class="lineNum"> 427 </span> :<span class="lineCov"> 1 : if (!slca_hdr) {</span></a> <a name="428"><span class="lineNum"> 428 </span> :<span class="lineNoCov"> 0 : prerror("SLCA Invalid\n");</span></a> <a name="429"><span class="lineNum"> 429 </span> :<span class="lineNoCov"> 0 : return;</span></a> <a name="430"><span class="lineNum"> 430 </span> : : }</a> <a name="431"><span class="lineNum"> 431 </span> : : </a> -<a name="432"><span class="lineNum"> 432 </span> :<span class="lineCov"> 2 : count = HDIF_get_iarray_size(slca_hdr, SLCA_IDATA_ARRAY);</span></a> -<a name="433"><span class="lineNum"> 433 </span> :<span class="lineCov"> 2 : if (count < 0) {</span></a> +<a name="432"><span class="lineNum"> 432 </span> :<span class="lineCov"> 1 : count = HDIF_get_iarray_size(slca_hdr, SLCA_IDATA_ARRAY);</span></a> +<a name="433"><span class="lineNum"> 433 </span> :<span class="lineCov"> 1 : if (count < 0) {</span></a> <a name="434"><span class="lineNum"> 434 </span> :<span class="lineNoCov"> 0 : prerror("SLCA: Can't find SLCA array size!\n");</span></a> <a name="435"><span class="lineNum"> 435 </span> :<span class="lineNoCov"> 0 : return;</span></a> <a name="436"><span class="lineNum"> 436 </span> : : }</a> <a name="437"><span class="lineNum"> 437 </span> : : </a> -<a name="438"><span class="lineNum"> 438 </span> :<span class="lineCov"> 141 : for (index = 0; index < count; index++) {</span></a> +<a name="438"><span class="lineNum"> 438 </span> :<span class="lineCov"> 70 : for (index = 0; index < count; index++) {</span></a> <a name="439"><span class="lineNum"> 439 </span> : : /* Get SLCA entry */</a> -<a name="440"><span class="lineNum"> 440 </span> :<span class="lineCov"> 139 : entry = slca_get_entry(index);</span></a> -<a name="441"><span class="lineNum"> 441 </span> :<span class="lineCov"> 139 : if (!entry)</span></a> +<a name="440"><span class="lineNum"> 440 </span> :<span class="lineCov"> 69 : entry = slca_get_entry(index);</span></a> +<a name="441"><span class="lineNum"> 441 </span> :<span class="lineCov"> 69 : if (!entry)</span></a> <a name="442"><span class="lineNum"> 442 </span> :<span class="lineNoCov"> 0 : continue;</span></a> <a name="443"><span class="lineNum"> 443 </span> : : </a> <a name="444"><span class="lineNum"> 444 </span> : : /*</a> @@ -518,51 +518,51 @@ <a name="447"><span class="lineNum"> 447 </span> : : * b. SLCA_VPD_COLLECTED is set in s_entry->vpd_collected</a> <a name="448"><span class="lineNum"> 448 </span> : : * c. The SLCA is not a duplicate entry.</a> <a name="449"><span class="lineNum"> 449 </span> : : */</a> -<a name="450"><span class="lineNum"> 450 </span> :<span class="lineCov"> 139 : if (!valid_child_entry(entry))</span></a> -<a name="451"><span class="lineNum"> 451 </span> :<span class="lineCov"> 73 : goto next_entry;</span></a> +<a name="450"><span class="lineNum"> 450 </span> :<span class="lineCov"> 69 : if (!valid_child_entry(entry))</span></a> +<a name="451"><span class="lineNum"> 451 </span> :<span class="lineCov"> 40 : goto next_entry;</span></a> <a name="452"><span class="lineNum"> 452 </span> : : </a> -<a name="453"><span class="lineNum"> 453 </span> :<span class="lineCov"> 66 : name = vpd_map_name(entry->fru_id);</span></a> -<a name="454"><span class="lineNum"> 454 </span> :<span class="lineCov"> 66 : addr = be16_to_cpu(entry->rsrc_id);</span></a> +<a name="453"><span class="lineNum"> 453 </span> :<span class="lineCov"> 29 : name = vpd_map_name(entry->fru_id);</span></a> +<a name="454"><span class="lineNum"> 454 </span> :<span class="lineCov"> 29 : addr = be16_to_cpu(entry->rsrc_id);</span></a> <a name="455"><span class="lineNum"> 455 </span> : : /* Check node is already created or not */</a> -<a name="456"><span class="lineNum"> 456 </span> :<span class="lineCov"> 66 : if (dt_find_by_name_addr(dt_vpd, name, addr))</span></a> +<a name="456"><span class="lineNum"> 456 </span> :<span class="lineCov"> 29 : if (dt_find_by_name_addr(dt_vpd, name, addr))</span></a> <a name="457"><span class="lineNum"> 457 </span> :<span class="lineNoCov"> 0 : goto next_entry;</span></a> <a name="458"><span class="lineNum"> 458 </span> : : </a> <a name="459"><span class="lineNum"> 459 </span> : : /* Get parent node */</a> -<a name="460"><span class="lineNum"> 460 </span> :<span class="lineCov"> 66 : if (index == SLCA_ROOT_INDEX) {</span></a> -<a name="461"><span class="lineNum"> 461 </span> :<span class="lineCov"> 2 : parent = dt_vpd;</span></a> +<a name="460"><span class="lineNum"> 460 </span> :<span class="lineCov"> 29 : if (index == SLCA_ROOT_INDEX) {</span></a> +<a name="461"><span class="lineNum"> 461 </span> :<span class="lineCov"> 1 : parent = dt_vpd;</span></a> <a name="462"><span class="lineNum"> 462 </span> : : } else {</a> -<a name="463"><span class="lineNum"> 463 </span> :<span class="lineCov"> 64 : p_entry = slca_get_entry(be16_to_cpu(entry->parent_index));</span></a> -<a name="464"><span class="lineNum"> 464 </span> :<span class="lineCov"> 64 : if (!p_entry)</span></a> +<a name="463"><span class="lineNum"> 463 </span> :<span class="lineCov"> 28 : p_entry = slca_get_entry(be16_to_cpu(entry->parent_index));</span></a> +<a name="464"><span class="lineNum"> 464 </span> :<span class="lineCov"> 28 : if (!p_entry)</span></a> <a name="465"><span class="lineNum"> 465 </span> :<span class="lineNoCov"> 0 : goto next_entry;</span></a> -<a name="466"><span class="lineNum"> 466 </span> :<span class="lineCov"> 64 : p_name = vpd_map_name(p_entry->fru_id);</span></a> -<a name="467"><span class="lineNum"> 467 </span> :<span class="lineCov"> 64 : p_addr = be16_to_cpu(p_entry->rsrc_id);</span></a> -<a name="468"><span class="lineNum"> 468 </span> :<span class="lineCov"> 64 : parent = dt_find_by_name_addr(dt_vpd, p_name, p_addr);</span></a> +<a name="466"><span class="lineNum"> 466 </span> :<span class="lineCov"> 28 : p_name = vpd_map_name(p_entry->fru_id);</span></a> +<a name="467"><span class="lineNum"> 467 </span> :<span class="lineCov"> 28 : p_addr = be16_to_cpu(p_entry->rsrc_id);</span></a> +<a name="468"><span class="lineNum"> 468 </span> :<span class="lineCov"> 28 : parent = dt_find_by_name_addr(dt_vpd, p_name, p_addr);</span></a> <a name="469"><span class="lineNum"> 469 </span> : : }</a> -<a name="470"><span class="lineNum"> 470 </span> :<span class="lineCov"> 66 : if (!parent)</span></a> +<a name="470"><span class="lineNum"> 470 </span> :<span class="lineCov"> 29 : if (!parent)</span></a> <a name="471"><span class="lineNum"> 471 </span> :<span class="lineNoCov"> 0 : goto next_entry;</span></a> <a name="472"><span class="lineNum"> 472 </span> : : </a> -<a name="473"><span class="lineNum"> 473 </span> :<span class="lineCov"> 66 : node = dt_new_addr(parent, name, addr);</span></a> -<a name="474"><span class="lineNum"> 474 </span> :<span class="lineCov"> 66 : if (!node) {</span></a> +<a name="473"><span class="lineNum"> 473 </span> :<span class="lineCov"> 29 : node = dt_new_addr(parent, name, addr);</span></a> +<a name="474"><span class="lineNum"> 474 </span> :<span class="lineCov"> 29 : if (!node) {</span></a> <a name="475"><span class="lineNum"> 475 </span> :<span class="lineNoCov"> 0 : prerror("VPD: Creating node at %s@%"PRIx64" failed\n",</span></a> <a name="476"><span class="lineNum"> 476 </span> : : name, addr);</a> <a name="477"><span class="lineNum"> 477 </span> :<span class="lineNoCov"> 0 : goto next_entry;</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> : : /* Add location code */</a> -<a name="481"><span class="lineNum"> 481 </span> :<span class="lineCov"> 66 : slca_vpd_add_loc_code(node, be16_to_cpu(entry->my_index));</span></a> +<a name="481"><span class="lineNum"> 481 </span> :<span class="lineCov"> 29 : slca_vpd_add_loc_code(node, be16_to_cpu(entry->my_index));</span></a> <a name="482"><span class="lineNum"> 482 </span> : : /* Add FRU label */</a> -<a name="483"><span class="lineNum"> 483 </span> :<span class="lineCov"> 66 : dt_add_property(node, "fru-type", entry->fru_id, 2);</span></a> -<a name="484"><span class="lineNum"> 484 </span> :<span class="lineCov"> 66 : dt_add_property_cells(node, "reg", addr);</span></a> -<a name="485"><span class="lineNum"> 485 </span> :<span class="lineCov"> 66 : dt_add_property_cells(node, "#size-cells", 0);</span></a> -<a name="486"><span class="lineNum"> 486 </span> :<span class="lineCov"> 66 : dt_add_property_cells(node, "#address-cells", 1);</span></a> +<a name="483"><span class="lineNum"> 483 </span> :<span class="lineCov"> 29 : dt_add_property(node, "fru-type", entry->fru_id, 2);</span></a> +<a name="484"><span class="lineNum"> 484 </span> :<span class="lineCov"> 29 : dt_add_property_cells(node, "reg", addr);</span></a> +<a name="485"><span class="lineNum"> 485 </span> :<span class="lineCov"> 29 : dt_add_property_cells(node, "#size-cells", 0);</span></a> +<a name="486"><span class="lineNum"> 486 </span> :<span class="lineCov"> 29 : dt_add_property_cells(node, "#address-cells", 1);</span></a> <a name="487"><span class="lineNum"> 487 </span> : : </a> -<a name="488"><span class="lineNum"> 488 </span> :<span class="lineCov"> 139 : next_entry:</span></a> +<a name="488"><span class="lineNum"> 488 </span> :<span class="lineCov"> 69 : next_entry:</span></a> <a name="489"><span class="lineNum"> 489 </span> : : /* Skip dups -- dups are contiguous */</a> -<a name="490"><span class="lineNum"> 490 </span> :<span class="lineCov"> 139 : index += entry->nr_dups;</span></a> +<a name="490"><span class="lineNum"> 490 </span> :<span class="lineCov"> 69 : index += entry->nr_dups;</span></a> <a name="491"><span class="lineNum"> 491 </span> : : }</a> <a name="492"><span class="lineNum"> 492 </span> : : }</a> <a name="493"><span class="lineNum"> 493 </span> : : </a> -<a name="494"><span class="lineNum"> 494 </span> :<span class="lineCov"> 27 : struct dt_node *dt_add_vpd_node(const struct HDIF_common_hdr *hdr,</span></a> +<a name="494"><span class="lineNum"> 494 </span> :<span class="lineCov"> 11 : struct dt_node *dt_add_vpd_node(const struct HDIF_common_hdr *hdr,</span></a> <a name="495"><span class="lineNum"> 495 </span> : : int indx_fru, int indx_vpd)</a> <a name="496"><span class="lineNum"> 496 </span> : : {</a> <a name="497"><span class="lineNum"> 497 </span> : : const struct spira_fru_id *fru_id;</a> @@ -573,76 +573,76 @@ <a name="502"><span class="lineNum"> 502 </span> : : const char *name;</a> <a name="503"><span class="lineNum"> 503 </span> : : uint64_t addr;</a> <a name="504"><span class="lineNum"> 504 </span> : : </a> -<a name="505"><span class="lineNum"> 505 </span> :<span class="lineCov"> 27 : fru_id = HDIF_get_idata(hdr, indx_fru, &fru_id_sz);</span></a> -<a name="506"><span class="lineNum"> 506 </span> :<span class="lineCov"> 27 : if (!fru_id)</span></a> +<a name="505"><span class="lineNum"> 505 </span> :<span class="lineCov"> 11 : fru_id = HDIF_get_idata(hdr, indx_fru, &fru_id_sz);</span></a> +<a name="506"><span class="lineNum"> 506 </span> :<span class="lineCov"> 11 : if (!fru_id)</span></a> <a name="507"><span class="lineNum"> 507 </span> :<span class="lineNoCov"> 0 : return NULL;</span></a> <a name="508"><span class="lineNum"> 508 </span> : : </a> -<a name="509"><span class="lineNum"> 509 </span> :<span class="lineCov"> 27 : fruvpd = HDIF_get_idata(hdr, indx_vpd, &fruvpd_sz);</span></a> -<a name="510"><span class="lineNum"> 510 </span> :<span class="lineCov"> 27 : if (!CHECK_SPPTR(fruvpd))</span></a> +<a name="509"><span class="lineNum"> 509 </span> :<span class="lineCov"> 11 : fruvpd = HDIF_get_idata(hdr, indx_vpd, &fruvpd_sz);</span></a> +<a name="510"><span class="lineNum"> 510 </span> :<span class="lineCov"> 11 : if (!CHECK_SPPTR(fruvpd))</span></a> <a name="511"><span class="lineNum"> 511 </span> :<span class="lineNoCov"> 0 : return NULL;</span></a> <a name="512"><span class="lineNum"> 512 </span> : : </a> -<a name="513"><span class="lineNum"> 513 </span> :<span class="lineCov"> 27 : dt_vpd = dt_find_by_path(dt_root, "/vpd");</span></a> -<a name="514"><span class="lineNum"> 514 </span> :<span class="lineCov"> 27 : if (!dt_vpd)</span></a> +<a name="513"><span class="lineNum"> 513 </span> :<span class="lineCov"> 11 : dt_vpd = dt_find_by_path(dt_root, "/vpd");</span></a> +<a name="514"><span class="lineNum"> 514 </span> :<span class="lineCov"> 11 : if (!dt_vpd)</span></a> <a name="515"><span class="lineNum"> 515 </span> :<span class="lineNoCov"> 0 : return NULL;</span></a> <a name="516"><span class="lineNum"> 516 </span> : : </a> -<a name="517"><span class="lineNum"> 517 </span> :<span class="lineCov"> 27 : entry = slca_get_entry(be16_to_cpu(fru_id->slca_index));</span></a> -<a name="518"><span class="lineNum"> 518 </span> :<span class="lineCov"> 27 : if (!entry)</span></a> +<a name="517"><span class="lineNum"> 517 </span> :<span class="lineCov"> 11 : entry = slca_get_entry(be16_to_cpu(fru_id->slca_index));</span></a> +<a name="518"><span class="lineNum"> 518 </span> :<span class="lineCov"> 11 : if (!entry)</span></a> <a name="519"><span class="lineNum"> 519 </span> :<span class="lineNoCov"> 0 : return NULL;</span></a> <a name="520"><span class="lineNum"> 520 </span> : : </a> -<a name="521"><span class="lineNum"> 521 </span> :<span class="lineCov"> 27 : name = vpd_map_name(entry->fru_id);</span></a> -<a name="522"><span class="lineNum"> 522 </span> :<span class="lineCov"> 27 : addr = be16_to_cpu(entry->rsrc_id);</span></a> +<a name="521"><span class="lineNum"> 521 </span> :<span class="lineCov"> 11 : name = vpd_map_name(entry->fru_id);</span></a> +<a name="522"><span class="lineNum"> 522 </span> :<span class="lineCov"> 11 : addr = be16_to_cpu(entry->rsrc_id);</span></a> <a name="523"><span class="lineNum"> 523 </span> : : /* Get the node already created */</a> -<a name="524"><span class="lineNum"> 524 </span> :<span class="lineCov"> 27 : node = dt_find_by_name_addr(dt_vpd, name, addr);</span></a> +<a name="524"><span class="lineNum"> 524 </span> :<span class="lineCov"> 11 : node = dt_find_by_name_addr(dt_vpd, name, addr);</span></a> <a name="525"><span class="lineNum"> 525 </span> : : /*</a> <a name="526"><span class="lineNum"> 526 </span> : : * It is unlikely that node not found because vpd nodes have the</a> <a name="527"><span class="lineNum"> 527 </span> : : * corresponding slca entry which we would have used to populate the vpd</a> <a name="528"><span class="lineNum"> 528 </span> : : * tree during the 'first' pass above so that we just need to perform</a> <a name="529"><span class="lineNum"> 529 </span> : : * VINI parse and add the vpd data..</a> <a name="530"><span class="lineNum"> 530 </span> : : */</a> -<a name="531"><span class="lineNum"> 531 </span> :<span class="lineCov"> 27 : if (!node)</span></a> +<a name="531"><span class="lineNum"> 531 </span> :<span class="lineCov"> 11 : if (!node)</span></a> <a name="532"><span class="lineNum"> 532 </span> :<span class="lineNoCov"> 0 : return NULL;</span></a> <a name="533"><span class="lineNum"> 533 </span> : : </a> <a name="534"><span class="lineNum"> 534 </span> : : /* Parse VPD fields, ensure that it has not been added already */</a> -<a name="535"><span class="lineNum"> 535 </span> :<span class="lineCov"> 27 : if (vpd_valid(fruvpd, fruvpd_sz)</span></a> -<a name="536"><span class="lineNum"> 536 </span> :<span class="lineCov"> 27 : && !dt_find_property(node, "ibm,vpd")) {</span></a> -<a name="537"><span class="lineNum"> 537 </span> :<span class="lineCov"> 24 : dt_add_property(node, "ibm,vpd", fruvpd, fruvpd_sz);</span></a> -<a name="538"><span class="lineNum"> 538 </span> :<span class="lineCov"> 24 : vpd_data_parse(node, fruvpd, fruvpd_sz);</span></a> +<a name="535"><span class="lineNum"> 535 </span> :<span class="lineCov"> 11 : if (vpd_valid(fruvpd, fruvpd_sz)</span></a> +<a name="536"><span class="lineNum"> 536 </span> :<span class="lineCov"> 11 : && !dt_find_property(node, "ibm,vpd")) {</span></a> +<a name="537"><span class="lineNum"> 537 </span> :<span class="lineCov"> 10 : dt_add_property(node, "ibm,vpd", fruvpd, fruvpd_sz);</span></a> +<a name="538"><span class="lineNum"> 538 </span> :<span class="lineCov"> 10 : vpd_data_parse(node, fruvpd, fruvpd_sz);</span></a> <a name="539"><span class="lineNum"> 539 </span> : : }</a> <a name="540"><span class="lineNum"> 540 </span> : : </a> -<a name="541"><span class="lineNum"> 541 </span> :<span class="lineCov"> 27 : return node;</span></a> +<a name="541"><span class="lineNum"> 541 </span> :<span class="lineCov"> 11 : return node;</span></a> <a name="542"><span class="lineNum"> 542 </span> : : }</a> <a name="543"><span class="lineNum"> 543 </span> : : </a> -<a name="544"><span class="lineNum"> 544 </span> :<span class="lineCov"> 2 : static void dt_add_model_name(void)</span></a> +<a name="544"><span class="lineNum"> 544 </span> :<span class="lineCov"> 1 : static void dt_add_model_name(void)</span></a> <a name="545"><span class="lineNum"> 545 </span> : : {</a> -<a name="546"><span class="lineNum"> 546 </span> :<span class="lineCov"> 2 : const char *model_name = NULL;</span></a> +<a name="546"><span class="lineNum"> 546 </span> :<span class="lineCov"> 1 : const char *model_name = NULL;</span></a> <a name="547"><span class="lineNum"> 547 </span> : : const struct machine_info *mi;</a> <a name="548"><span class="lineNum"> 548 </span> : : const struct iplparams_sysparams *p;</a> <a name="549"><span class="lineNum"> 549 </span> : : const struct HDIF_common_hdr *iplp;</a> <a name="550"><span class="lineNum"> 550 </span> : : const struct dt_property *model;</a> <a name="551"><span class="lineNum"> 551 </span> : : </a> -<a name="552"><span class="lineNum"> 552 </span> :<span class="lineCov"> 2 : model = dt_find_property(dt_root, "model");</span></a> +<a name="552"><span class="lineNum"> 552 </span> :<span class="lineCov"> 1 : model = dt_find_property(dt_root, "model");</span></a> <a name="553"><span class="lineNum"> 553 </span> : : </a> -<a name="554"><span class="lineNum"> 554 </span> :<span class="lineCov"> 2 : iplp = get_hdif(&spira.ntuples.ipl_parms, "IPLPMS");</span></a> -<a name="555"><span class="lineNum"> 555 </span> :<span class="lineCov"> 2 : if (!iplp)</span></a> +<a name="554"><span class="lineNum"> 554 </span> :<span class="lineCov"> 1 : iplp = get_hdif(&spiras->ntuples.ipl_parms, "IPLPMS");</span></a> +<a name="555"><span class="lineNum"> 555 </span> :<span class="lineCov"> 1 : if (!iplp)</span></a> <a name="556"><span class="lineNum"> 556 </span> :<span class="lineNoCov"> 0 : goto def_model;</span></a> <a name="557"><span class="lineNum"> 557 </span> : : </a> -<a name="558"><span class="lineNum"> 558 </span> :<span class="lineCov"> 2 : p = HDIF_get_idata(iplp, IPLPARAMS_SYSPARAMS, NULL);</span></a> -<a name="559"><span class="lineNum"> 559 </span> :<span class="lineCov"> 2 : if (!CHECK_SPPTR(p))</span></a> +<a name="558"><span class="lineNum"> 558 </span> :<span class="lineCov"> 1 : p = HDIF_get_idata(iplp, IPLPARAMS_SYSPARAMS, NULL);</span></a> +<a name="559"><span class="lineNum"> 559 </span> :<span class="lineCov"> 1 : if (!CHECK_SPPTR(p))</span></a> <a name="560"><span class="lineNum"> 560 </span> :<span class="lineNoCov"> 0 : goto def_model;</span></a> <a name="561"><span class="lineNum"> 561 </span> : : </a> -<a name="562"><span class="lineNum"> 562 </span> :<span class="lineCov"> 2 : if (be16_to_cpu(iplp->version) >= 0x60)</span></a> +<a name="562"><span class="lineNum"> 562 </span> :<span class="lineCov"> 1 : if (be16_to_cpu(iplp->version) >= 0x60)</span></a> <a name="563"><span class="lineNum"> 563 </span> :<span class="lineNoCov"> 0 : model_name = p->sys_type_str;</span></a> <a name="564"><span class="lineNum"> 564 </span> : : </a> -<a name="565"><span class="lineNum"> 565 </span> :<span class="lineCov"> 2 : def_model:</span></a> -<a name="566"><span class="lineNum"> 566 </span> :<span class="lineCov"> 2 : if ((!model_name || model_name[0] == '\0') && model) {</span></a> -<a name="567"><span class="lineNum"> 567 </span> :<span class="lineCov"> 2 : mi = machine_info_lookup(model->prop);</span></a> -<a name="568"><span class="lineNum"> 568 </span> :<span class="lineCov"> 2 : if (mi)</span></a> -<a name="569"><span class="lineNum"> 569 </span> :<span class="lineCov"> 2 : model_name = mi->name;</span></a> +<a name="565"><span class="lineNum"> 565 </span> :<span class="lineCov"> 1 : def_model:</span></a> +<a name="566"><span class="lineNum"> 566 </span> :<span class="lineCov"> 1 : if ((!model_name || model_name[0] == '\0') && model) {</span></a> +<a name="567"><span class="lineNum"> 567 </span> :<span class="lineCov"> 1 : mi = machine_info_lookup(model->prop);</span></a> +<a name="568"><span class="lineNum"> 568 </span> :<span class="lineCov"> 1 : if (mi)</span></a> +<a name="569"><span class="lineNum"> 569 </span> :<span class="lineCov"> 1 : model_name = mi->name;</span></a> <a name="570"><span class="lineNum"> 570 </span> : : }</a> <a name="571"><span class="lineNum"> 571 </span> : : </a> -<a name="572"><span class="lineNum"> 572 </span> :<span class="lineCov"> 2 : if(model_name)</span></a> -<a name="573"><span class="lineNum"> 573 </span> :<span class="lineCov"> 2 : dt_add_property_string(dt_root, "model-name", model_name);</span></a> -<a name="574"><span class="lineNum"> 574 </span> :<span class="lineCov"> 2 : }</span></a> +<a name="572"><span class="lineNum"> 572 </span> :<span class="lineCov"> 1 : if(model_name)</span></a> +<a name="573"><span class="lineNum"> 573 </span> :<span class="lineCov"> 1 : dt_add_property_string(dt_root, "model-name", model_name);</span></a> +<a name="574"><span class="lineNum"> 574 </span> :<span class="lineCov"> 1 : }</span></a> <a name="575"><span class="lineNum"> 575 </span> : : </a> <a name="576"><span class="lineNum"> 576 </span> :<span class="lineNoCov"> 0 : static void sysvpd_parse_opp(const void *sysvpd, unsigned int sysvpd_sz)</span></a> <a name="577"><span class="lineNum"> 577 </span> : : {</a> @@ -663,33 +663,33 @@ <a name="592"><span class="lineNum"> 592 </span> :<span class="lineNoCov"> 0 : }</span></a> <a name="593"><span class="lineNum"> 593 </span> : : </a> <a name="594"><span class="lineNum"> 594 </span> : : </a> -<a name="595"><span class="lineNum"> 595 </span> :<span class="lineCov"> 2 : static void sysvpd_parse_legacy(const void *sysvpd, unsigned int sysvpd_sz)</span></a> +<a name="595"><span class="lineNum"> 595 </span> :<span class="lineCov"> 1 : static void sysvpd_parse_legacy(const void *sysvpd, unsigned int sysvpd_sz)</span></a> <a name="596"><span class="lineNum"> 596 </span> : : {</a> <a name="597"><span class="lineNum"> 597 </span> : : const char *model;</a> <a name="598"><span class="lineNum"> 598 </span> : : const char *system_id;</a> <a name="599"><span class="lineNum"> 599 </span> : : const char *brand;</a> <a name="600"><span class="lineNum"> 600 </span> : : uint8_t sz;</a> <a name="601"><span class="lineNum"> 601 </span> : : </a> -<a name="602"><span class="lineNum"> 602 </span> :<span class="lineCov"> 2 : model = vpd_find(sysvpd, sysvpd_sz, "VSYS", "TM", &sz);</span></a> -<a name="603"><span class="lineNum"> 603 </span> :<span class="lineCov"> 2 : if (model)</span></a> -<a name="604"><span class="lineNum"> 604 </span> :<span class="lineCov"> 2 : dt_add_prop_sanitize_val(dt_root, "model", model, sz);</span></a> +<a name="602"><span class="lineNum"> 602 </span> :<span class="lineCov"> 1 : model = vpd_find(sysvpd, sysvpd_sz, "VSYS", "TM", &sz);</span></a> +<a name="603"><span class="lineNum"> 603 </span> :<span class="lineCov"> 1 : if (model)</span></a> +<a name="604"><span class="lineNum"> 604 </span> :<span class="lineCov"> 1 : dt_add_prop_sanitize_val(dt_root, "model", model, sz);</span></a> <a name="605"><span class="lineNum"> 605 </span> : : else</a> <a name="606"><span class="lineNum"> 606 </span> :<span class="lineNoCov"> 0 : dt_add_property_string(dt_root, "model", "Unknown");</span></a> <a name="607"><span class="lineNum"> 607 </span> : : </a> -<a name="608"><span class="lineNum"> 608 </span> :<span class="lineCov"> 2 : system_id = vpd_find(sysvpd, sysvpd_sz, "VSYS", "SE", &sz);</span></a> -<a name="609"><span class="lineNum"> 609 </span> :<span class="lineCov"> 2 : if (system_id)</span></a> -<a name="610"><span class="lineNum"> 610 </span> :<span class="lineCov"> 2 : dt_add_prop_sanitize_val(dt_root, "system-id", system_id, sz);</span></a> +<a name="608"><span class="lineNum"> 608 </span> :<span class="lineCov"> 1 : system_id = vpd_find(sysvpd, sysvpd_sz, "VSYS", "SE", &sz);</span></a> +<a name="609"><span class="lineNum"> 609 </span> :<span class="lineCov"> 1 : if (system_id)</span></a> +<a name="610"><span class="lineNum"> 610 </span> :<span class="lineCov"> 1 : dt_add_prop_sanitize_val(dt_root, "system-id", system_id, sz);</span></a> <a name="611"><span class="lineNum"> 611 </span> : : else</a> <a name="612"><span class="lineNum"> 612 </span> :<span class="lineNoCov"> 0 : dt_add_property_string(dt_root, "system-id", "Unknown");</span></a> <a name="613"><span class="lineNum"> 613 </span> : : </a> -<a name="614"><span class="lineNum"> 614 </span> :<span class="lineCov"> 2 : brand = vpd_find(sysvpd, sysvpd_sz, "VSYS", "BR", &sz);</span></a> -<a name="615"><span class="lineNum"> 615 </span> :<span class="lineCov"> 2 : if (brand)</span></a> -<a name="616"><span class="lineNum"> 616 </span> :<span class="lineCov"> 2 : dt_add_prop_sanitize_val(dt_root, "system-brand", brand, sz);</span></a> +<a name="614"><span class="lineNum"> 614 </span> :<span class="lineCov"> 1 : brand = vpd_find(sysvpd, sysvpd_sz, "VSYS", "BR", &sz);</span></a> +<a name="615"><span class="lineNum"> 615 </span> :<span class="lineCov"> 1 : if (brand)</span></a> +<a name="616"><span class="lineNum"> 616 </span> :<span class="lineCov"> 1 : dt_add_prop_sanitize_val(dt_root, "system-brand", brand, sz);</span></a> <a name="617"><span class="lineNum"> 617 </span> : : else</a> <a name="618"><span class="lineNum"> 618 </span> :<span class="lineNoCov"> 0 : dt_add_property_string(dt_root, "brand", "Unknown");</span></a> -<a name="619"><span class="lineNum"> 619 </span> :<span class="lineCov"> 2 : }</span></a> +<a name="619"><span class="lineNum"> 619 </span> :<span class="lineCov"> 1 : }</span></a> <a name="620"><span class="lineNum"> 620 </span> : : </a> -<a name="621"><span class="lineNum"> 621 </span> :<span class="lineCov"> 2 : static void sysvpd_parse(void)</span></a> +<a name="621"><span class="lineNum"> 621 </span> :<span class="lineCov"> 1 : static void sysvpd_parse(void)</span></a> <a name="622"><span class="lineNum"> 622 </span> : : {</a> <a name="623"><span class="lineNum"> 623 </span> : : const void *sysvpd;</a> <a name="624"><span class="lineNum"> 624 </span> : : unsigned int sysvpd_sz;</a> @@ -698,81 +698,81 @@ <a name="627"><span class="lineNum"> 627 </span> : : const struct spira_fru_id *fru_id;</a> <a name="628"><span class="lineNum"> 628 </span> : : struct HDIF_common_hdr *sysvpd_hdr;</a> <a name="629"><span class="lineNum"> 629 </span> : : </a> -<a name="630"><span class="lineNum"> 630 </span> :<span class="lineCov"> 2 : sysvpd_hdr = get_hdif(&spira.ntuples.system_vpd, SYSVPD_HDIF_SIG);</span></a> -<a name="631"><span class="lineNum"> 631 </span> :<span class="lineCov"> 2 : if (!sysvpd_hdr)</span></a> +<a name="630"><span class="lineNum"> 630 </span> :<span class="lineCov"> 1 : sysvpd_hdr = get_hdif(&spiras->ntuples.system_vpd, SYSVPD_HDIF_SIG);</span></a> +<a name="631"><span class="lineNum"> 631 </span> :<span class="lineCov"> 1 : if (!sysvpd_hdr)</span></a> <a name="632"><span class="lineNum"> 632 </span> :<span class="lineNoCov"> 0 : return;</span></a> <a name="633"><span class="lineNum"> 633 </span> : : </a> -<a name="634"><span class="lineNum"> 634 </span> :<span class="lineCov"> 2 : fru_id = HDIF_get_idata(sysvpd_hdr, SYSVPD_IDATA_FRU_ID, &fru_id_sz);</span></a> -<a name="635"><span class="lineNum"> 635 </span> :<span class="lineCov"> 2 : if (!fru_id)</span></a> +<a name="634"><span class="lineNum"> 634 </span> :<span class="lineCov"> 1 : fru_id = HDIF_get_idata(sysvpd_hdr, SYSVPD_IDATA_FRU_ID, &fru_id_sz);</span></a> +<a name="635"><span class="lineNum"> 635 </span> :<span class="lineCov"> 1 : if (!fru_id)</span></a> <a name="636"><span class="lineNum"> 636 </span> :<span class="lineNoCov"> 0 : return;</span></a> <a name="637"><span class="lineNum"> 637 </span> : : </a> -<a name="638"><span class="lineNum"> 638 </span> :<span class="lineCov"> 2 : sysvpd = HDIF_get_idata(sysvpd_hdr, SYSVPD_IDATA_KW_VPD, &sysvpd_sz);</span></a> -<a name="639"><span class="lineNum"> 639 </span> :<span class="lineCov"> 2 : if (!CHECK_SPPTR(sysvpd))</span></a> +<a name="638"><span class="lineNum"> 638 </span> :<span class="lineCov"> 1 : sysvpd = HDIF_get_idata(sysvpd_hdr, SYSVPD_IDATA_KW_VPD, &sysvpd_sz);</span></a> +<a name="639"><span class="lineNum"> 639 </span> :<span class="lineCov"> 1 : if (!CHECK_SPPTR(sysvpd))</span></a> <a name="640"><span class="lineNum"> 640 </span> :<span class="lineNoCov"> 0 : return;</span></a> <a name="641"><span class="lineNum"> 641 </span> : : </a> <a name="642"><span class="lineNum"> 642 </span> : : /* Add system VPD */</a> -<a name="643"><span class="lineNum"> 643 </span> :<span class="lineCov"> 2 : dt_vpd = dt_find_by_path(dt_root, "/vpd");</span></a> -<a name="644"><span class="lineNum"> 644 </span> :<span class="lineCov"> 2 : if (dt_vpd) {</span></a> -<a name="645"><span class="lineNum"> 645 </span> :<span class="lineCov"> 2 : dt_add_property(dt_vpd, "ibm,vpd", sysvpd, sysvpd_sz);</span></a> -<a name="646"><span class="lineNum"> 646 </span> :<span class="lineCov"> 2 : slca_vpd_add_loc_code(dt_vpd, be16_to_cpu(fru_id->slca_index));</span></a> +<a name="643"><span class="lineNum"> 643 </span> :<span class="lineCov"> 1 : dt_vpd = dt_find_by_path(dt_root, "/vpd");</span></a> +<a name="644"><span class="lineNum"> 644 </span> :<span class="lineCov"> 1 : if (dt_vpd) {</span></a> +<a name="645"><span class="lineNum"> 645 </span> :<span class="lineCov"> 1 : dt_add_property(dt_vpd, "ibm,vpd", sysvpd, sysvpd_sz);</span></a> +<a name="646"><span class="lineNum"> 646 </span> :<span class="lineCov"> 1 : slca_vpd_add_loc_code(dt_vpd, be16_to_cpu(fru_id->slca_index));</span></a> <a name="647"><span class="lineNum"> 647 </span> : : }</a> <a name="648"><span class="lineNum"> 648 </span> : : </a> <a name="649"><span class="lineNum"> 649 </span> : : /* Look for the new OpenPower "OSYS" first */</a> -<a name="650"><span class="lineNum"> 650 </span> :<span class="lineCov"> 2 : if (vpd_find_record(sysvpd, sysvpd_sz, "OSYS", NULL))</span></a> +<a name="650"><span class="lineNum"> 650 </span> :<span class="lineCov"> 1 : if (vpd_find_record(sysvpd, sysvpd_sz, "OSYS", NULL))</span></a> <a name="651"><span class="lineNum"> 651 </span> :<span class="lineNoCov"> 0 : sysvpd_parse_opp(sysvpd, sysvpd_sz);</span></a> <a name="652"><span class="lineNum"> 652 </span> : : else</a> -<a name="653"><span class="lineNum"> 653 </span> :<span class="lineCov"> 2 : sysvpd_parse_legacy(sysvpd, sysvpd_sz);</span></a> +<a name="653"><span class="lineNum"> 653 </span> :<span class="lineCov"> 1 : sysvpd_parse_legacy(sysvpd, sysvpd_sz);</span></a> <a name="654"><span class="lineNum"> 654 </span> : : </a> -<a name="655"><span class="lineNum"> 655 </span> :<span class="lineCov"> 2 : dt_add_model_name();</span></a> +<a name="655"><span class="lineNum"> 655 </span> :<span class="lineCov"> 1 : dt_add_model_name();</span></a> <a name="656"><span class="lineNum"> 656 </span> : : }</a> <a name="657"><span class="lineNum"> 657 </span> : : </a> -<a name="658"><span class="lineNum"> 658 </span> :<span class="lineCov"> 3 : static void iokid_vpd_parse(const struct HDIF_common_hdr *iohub_hdr)</span></a> +<a name="658"><span class="lineNum"> 658 </span> :<span class="lineCov"> 1 : static void iokid_vpd_parse(const struct HDIF_common_hdr *iohub_hdr)</span></a> <a name="659"><span class="lineNum"> 659 </span> : : {</a> <a name="660"><span class="lineNum"> 660 </span> : : const struct HDIF_child_ptr *iokids;</a> <a name="661"><span class="lineNum"> 661 </span> : : const struct HDIF_common_hdr *iokid;</a> <a name="662"><span class="lineNum"> 662 </span> : : unsigned int i;</a> <a name="663"><span class="lineNum"> 663 </span> : : </a> -<a name="664"><span class="lineNum"> 664 </span> :<span class="lineCov"> 3 : iokids = HDIF_child_arr(iohub_hdr, CECHUB_CHILD_IO_KIDS);</span></a> -<a name="665"><span class="lineNum"> 665 </span> :<span class="lineCov"> 3 : if (!CHECK_SPPTR(iokids)) {</span></a> +<a name="664"><span class="lineNum"> 664 </span> :<span class="lineCov"> 1 : iokids = HDIF_child_arr(iohub_hdr, CECHUB_CHILD_IO_KIDS);</span></a> +<a name="665"><span class="lineNum"> 665 </span> :<span class="lineCov"> 1 : if (!CHECK_SPPTR(iokids)) {</span></a> <a name="666"><span class="lineNum"> 666 </span> :<span class="lineNoCov"> 0 : prerror("VPD: No IOKID child array\n");</span></a> <a name="667"><span class="lineNum"> 667 </span> :<span class="lineNoCov"> 0 : return;</span></a> <a name="668"><span class="lineNum"> 668 </span> : : }</a> <a name="669"><span class="lineNum"> 669 </span> : : </a> -<a name="670"><span class="lineNum"> 670 </span> :<span class="lineCov"> 6 : for (i = 0; i < be32_to_cpu(iokids->count); i++) {</span></a> -<a name="671"><span class="lineNum"> 671 </span> :<span class="lineCov"> 3 : iokid = HDIF_child(iohub_hdr, iokids, i,</span></a> +<a name="670"><span class="lineNum"> 670 </span> :<span class="lineCov"> 2 : for (i = 0; i < be32_to_cpu(iokids->count); i++) {</span></a> +<a name="671"><span class="lineNum"> 671 </span> :<span class="lineCov"> 1 : iokid = HDIF_child(iohub_hdr, iokids, i,</span></a> <a name="672"><span class="lineNum"> 672 </span> : : IOKID_FRU_HDIF_SIG);</a> <a name="673"><span class="lineNum"> 673 </span> : : /* IO KID VPD structure layout is similar to FRUVPD */</a> -<a name="674"><span class="lineNum"> 674 </span> :<span class="lineCov"> 3 : if (iokid)</span></a> -<a name="675"><span class="lineNum"> 675 </span> :<span class="lineCov"> 3 : dt_add_vpd_node(iokid,</span></a> +<a name="674"><span class="lineNum"> 674 </span> :<span class="lineCov"> 1 : if (iokid)</span></a> +<a name="675"><span class="lineNum"> 675 </span> :<span class="lineCov"> 1 : dt_add_vpd_node(iokid,</span></a> <a name="676"><span class="lineNum"> 676 </span> : : FRUVPD_IDATA_FRU_ID, FRUVPD_IDATA_KW_VPD);</a> <a name="677"><span class="lineNum"> 677 </span> : : }</a> <a name="678"><span class="lineNum"> 678 </span> : : }</a> <a name="679"><span class="lineNum"> 679 </span> : : </a> -<a name="680"><span class="lineNum"> 680 </span> :<span class="lineCov"> 2 : static void iohub_vpd_parse(void)</span></a> +<a name="680"><span class="lineNum"> 680 </span> :<span class="lineCov"> 1 : static void iohub_vpd_parse(void)</span></a> <a name="681"><span class="lineNum"> 681 </span> : : {</a> <a name="682"><span class="lineNum"> 682 </span> : : const struct HDIF_common_hdr *iohub_hdr;</a> <a name="683"><span class="lineNum"> 683 </span> : : const struct cechub_hub_fru_id *fru_id_data;</a> <a name="684"><span class="lineNum"> 684 </span> : : unsigned int i, vpd_sz, fru_id_sz;</a> <a name="685"><span class="lineNum"> 685 </span> : : </a> -<a name="686"><span class="lineNum"> 686 </span> :<span class="lineCov"> 2 : if (!get_hdif(&spira.ntuples.cec_iohub_fru, CECHUB_FRU_HDIF_SIG)) {</span></a> +<a name="686"><span class="lineNum"> 686 </span> :<span class="lineCov"> 1 : if (!get_hdif(&spiras->ntuples.cec_iohub_fru, CECHUB_FRU_HDIF_SIG)) {</span></a> <a name="687"><span class="lineNum"> 687 </span> :<span class="lineNoCov"> 0 : prerror("VPD: Could not find IO HUB FRU data\n");</span></a> <a name="688"><span class="lineNum"> 688 </span> :<span class="lineNoCov"> 0 : return;</span></a> <a name="689"><span class="lineNum"> 689 </span> : : }</a> <a name="690"><span class="lineNum"> 690 </span> : : </a> -<a name="691"><span class="lineNum"> 691 </span> :<span class="lineCov"> 5 : for_each_ntuple_idx(&spira.ntuples.cec_iohub_fru, iohub_hdr,</span></a> +<a name="691"><span class="lineNum"> 691 </span> :<span class="lineCov"> 2 : for_each_ntuple_idx(&spiras->ntuples.cec_iohub_fru, iohub_hdr,</span></a> <a name="692"><span class="lineNum"> 692 </span> : : i, CECHUB_FRU_HDIF_SIG) {</a> <a name="693"><span class="lineNum"> 693 </span> : : </a> -<a name="694"><span class="lineNum"> 694 </span> :<span class="lineCov"> 3 : fru_id_data = HDIF_get_idata(iohub_hdr,</span></a> +<a name="694"><span class="lineNum"> 694 </span> :<span class="lineCov"> 1 : fru_id_data = HDIF_get_idata(iohub_hdr,</span></a> <a name="695"><span class="lineNum"> 695 </span> : : CECHUB_FRU_ID_DATA_AREA,</a> <a name="696"><span class="lineNum"> 696 </span> : : &fru_id_sz);</a> <a name="697"><span class="lineNum"> 697 </span> : : </a> <a name="698"><span class="lineNum"> 698 </span> : : /* P8, IO HUB is on processor card and we have a</a> <a name="699"><span class="lineNum"> 699 </span> : : * daughter card array</a> <a name="700"><span class="lineNum"> 700 </span> : : */</a> -<a name="701"><span class="lineNum"> 701 </span> :<span class="lineCov"> 6 : if (fru_id_data &&</span></a> -<a name="702"><span class="lineNum"> 702 </span> :<span class="lineCov"> 3 : be32_to_cpu(fru_id_data->card_type) == CECHUB_FRU_TYPE_CPU_CARD) {</span></a> -<a name="703"><span class="lineNum"> 703 </span> :<span class="lineCov"> 3 : iokid_vpd_parse(iohub_hdr);</span></a> -<a name="704"><span class="lineNum"> 704 </span> :<span class="lineCov"> 3 : continue;</span></a> +<a name="701"><span class="lineNum"> 701 </span> :<span class="lineCov"> 2 : if (fru_id_data &&</span></a> +<a name="702"><span class="lineNum"> 702 </span> :<span class="lineCov"> 1 : be32_to_cpu(fru_id_data->card_type) == CECHUB_FRU_TYPE_CPU_CARD) {</span></a> +<a name="703"><span class="lineNum"> 703 </span> :<span class="lineCov"> 1 : iokid_vpd_parse(iohub_hdr);</span></a> +<a name="704"><span class="lineNum"> 704 </span> :<span class="lineCov"> 1 : continue;</span></a> <a name="705"><span class="lineNum"> 705 </span> : : }</a> <a name="706"><span class="lineNum"> 706 </span> : : </a> <a name="707"><span class="lineNum"> 707 </span> :<span class="lineNoCov"> 0 : if (HDIF_get_idata(iohub_hdr,</span></a> @@ -782,60 +782,57 @@ <a name="711"><span class="lineNum"> 711 </span> : : }</a> <a name="712"><span class="lineNum"> 712 </span> : : }</a> <a name="713"><span class="lineNum"> 713 </span> : : </a> -<a name="714"><span class="lineNum"> 714 </span> :<span class="lineCov"> 14 : static void _vpd_parse(struct spira_ntuple tuple)</span></a> +<a name="714"><span class="lineNum"> 714 </span> :<span class="lineCov"> 6 : static void _vpd_parse(struct spira_ntuple tuple)</span></a> <a name="715"><span class="lineNum"> 715 </span> : : {</a> <a name="716"><span class="lineNum"> 716 </span> : : const struct HDIF_common_hdr *fruvpd_hdr;</a> <a name="717"><span class="lineNum"> 717 </span> : : unsigned int i;</a> <a name="718"><span class="lineNum"> 718 </span> : : </a> -<a name="719"><span class="lineNum"> 719 </span> :<span class="lineCov"> 14 : if (!get_hdif(&tuple, FRUVPD_HDIF_SIG))</span></a> -<a name="720"><span class="lineNum"> 720 </span> :<span class="lineCov"> 4 : return;</span></a> +<a name="719"><span class="lineNum"> 719 </span> :<span class="lineCov"> 6 : if (!get_hdif(&tuple, FRUVPD_HDIF_SIG))</span></a> +<a name="720"><span class="lineNum"> 720 </span> :<span class="lineCov"> 1 : return;</span></a> <a name="721"><span class="lineNum"> 721 </span> : : </a> -<a name="722"><span class="lineNum"> 722 </span> :<span class="lineCov"> 20 : for_each_ntuple_idx(&tuple, fruvpd_hdr, i, FRUVPD_HDIF_SIG)</span></a> -<a name="723"><span class="lineNum"> 723 </span> :<span class="lineCov"> 10 : dt_add_vpd_node(fruvpd_hdr,</span></a> +<a name="722"><span class="lineNum"> 722 </span> :<span class="lineCov"> 10 : for_each_ntuple_idx(&tuple, fruvpd_hdr, i, FRUVPD_HDIF_SIG)</span></a> +<a name="723"><span class="lineNum"> 723 </span> :<span class="lineCov"> 5 : dt_add_vpd_node(fruvpd_hdr,</span></a> <a name="724"><span class="lineNum"> 724 </span> : : FRUVPD_IDATA_FRU_ID, FRUVPD_IDATA_KW_VPD);</a> <a name="725"><span class="lineNum"> 725 </span> : : }</a> <a name="726"><span class="lineNum"> 726 </span> : : </a> -<a name="727"><span class="lineNum"> 727 </span> :<span class="lineCov"> 2 : void vpd_parse(void)</span></a> +<a name="727"><span class="lineNum"> 727 </span> :<span class="lineCov"> 1 : void vpd_parse(void)</span></a> <a name="728"><span class="lineNum"> 728 </span> : : {</a> <a name="729"><span class="lineNum"> 729 </span> : : const struct HDIF_common_hdr *fruvpd_hdr;</a> <a name="730"><span class="lineNum"> 730 </span> : : </a> <a name="731"><span class="lineNum"> 731 </span> : : /* System VPD uses the VSYS record, so its special */</a> -<a name="732"><span class="lineNum"> 732 </span> :<span class="lineCov"> 2 : sysvpd_parse();</span></a> +<a name="732"><span class="lineNum"> 732 </span> :<span class="lineCov"> 1 : sysvpd_parse();</span></a> <a name="733"><span class="lineNum"> 733 </span> : : </a> <a name="734"><span class="lineNum"> 734 </span> : : /* Enclosure */</a> -<a name="735"><span class="lineNum"> 735 </span> :<span class="lineCov"> 2 : _vpd_parse(spira.ntuples.nt_enclosure_vpd);</span></a> +<a name="735"><span class="lineNum"> 735 </span> :<span class="lineCov"> 1 : _vpd_parse(spiras->ntuples.nt_enclosure_vpd);</span></a> <a name="736"><span class="lineNum"> 736 </span> : : </a> <a name="737"><span class="lineNum"> 737 </span> : : /* Backplane */</a> -<a name="738"><span class="lineNum"> 738 </span> :<span class="lineCov"> 2 : _vpd_parse(spira.ntuples.backplane_vpd);</span></a> +<a name="738"><span class="lineNum"> 738 </span> :<span class="lineCov"> 1 : _vpd_parse(spiras->ntuples.backplane_vpd);</span></a> <a name="739"><span class="lineNum"> 739 </span> : : </a> <a name="740"><span class="lineNum"> 740 </span> : : /* clock card -- does this use the FRUVPD sig? */</a> -<a name="741"><span class="lineNum"> 741 </span> :<span class="lineCov"> 2 : _vpd_parse(spira.ntuples.clock_vpd);</span></a> +<a name="741"><span class="lineNum"> 741 </span> :<span class="lineCov"> 1 : _vpd_parse(spiras->ntuples.clock_vpd);</span></a> <a name="742"><span class="lineNum"> 742 </span> : : </a> <a name="743"><span class="lineNum"> 743 </span> : : /* Anchor card */</a> -<a name="744"><span class="lineNum"> 744 </span> :<span class="lineCov"> 2 : _vpd_parse(spira.ntuples.anchor_vpd);</span></a> +<a name="744"><span class="lineNum"> 744 </span> :<span class="lineCov"> 1 : _vpd_parse(spiras->ntuples.anchor_vpd);</span></a> <a name="745"><span class="lineNum"> 745 </span> : : </a> <a name="746"><span class="lineNum"> 746 </span> : : /* Op panel -- does this use the FRUVPD sig? */</a> -<a name="747"><span class="lineNum"> 747 </span> :<span class="lineCov"> 2 : _vpd_parse(spira.ntuples.op_panel_vpd);</span></a> +<a name="747"><span class="lineNum"> 747 </span> :<span class="lineCov"> 1 : _vpd_parse(spiras->ntuples.op_panel_vpd);</span></a> <a name="748"><span class="lineNum"> 748 </span> : : </a> -<a name="749"><span class="lineNum"> 749 </span> : : /* External cache FRU vpd -- does this use the FRUVPD sig? */</a> -<a name="750"><span class="lineNum"> 750 </span> :<span class="lineCov"> 2 : _vpd_parse(spira.ntuples.ext_cache_fru_vpd);</span></a> +<a name="749"><span class="lineNum"> 749 </span> : : /* Misc CEC FRU */</a> +<a name="750"><span class="lineNum"> 750 </span> :<span class="lineCov"> 1 : _vpd_parse(spiras->ntuples.misc_cec_fru_vpd);</span></a> <a name="751"><span class="lineNum"> 751 </span> : : </a> -<a name="752"><span class="lineNum"> 752 </span> : : /* Misc CEC FRU */</a> -<a name="753"><span class="lineNum"> 753 </span> :<span class="lineCov"> 2 : _vpd_parse(spira.ntuples.misc_cec_fru_vpd);</span></a> +<a name="752"><span class="lineNum"> 752 </span> : : /* CEC IO HUB FRU */</a> +<a name="753"><span class="lineNum"> 753 </span> :<span class="lineCov"> 1 : iohub_vpd_parse();</span></a> <a name="754"><span class="lineNum"> 754 </span> : : </a> -<a name="755"><span class="lineNum"> 755 </span> : : /* CEC IO HUB FRU */</a> -<a name="756"><span class="lineNum"> 756 </span> :<span class="lineCov"> 2 : iohub_vpd_parse();</span></a> -<a name="757"><span class="lineNum"> 757 </span> : : </a> -<a name="758"><span class="lineNum"> 758 </span> : : /*</a> -<a name="759"><span class="lineNum"> 759 </span> : : * SP subsystem -- while the rest of the SPINFO structure is</a> -<a name="760"><span class="lineNum"> 760 </span> : : * different, the FRU ID data and pointer pair to keyword VPD</a> -<a name="761"><span class="lineNum"> 761 </span> : : * are the same offset as a FRUVPD entry. So reuse it</a> -<a name="762"><span class="lineNum"> 762 </span> : : */</a> -<a name="763"><span class="lineNum"> 763 </span> :<span class="lineCov"> 2 : fruvpd_hdr = get_hdif(&spira.ntuples.sp_subsys, SPSS_HDIF_SIG);</span></a> -<a name="764"><span class="lineNum"> 764 </span> :<span class="lineCov"> 2 : if (fruvpd_hdr)</span></a> -<a name="765"><span class="lineNum"> 765 </span> :<span class="lineCov"> 2 : dt_add_vpd_node(fruvpd_hdr,</span></a> -<a name="766"><span class="lineNum"> 766 </span> : : FRUVPD_IDATA_FRU_ID, FRUVPD_IDATA_KW_VPD);</a> -<a name="767"><span class="lineNum"> 767 </span> :<span class="lineCov"> 2 : }</span></a> +<a name="755"><span class="lineNum"> 755 </span> : : /*</a> +<a name="756"><span class="lineNum"> 756 </span> : : * SP subsystem -- while the rest of the SPINFO structure is</a> +<a name="757"><span class="lineNum"> 757 </span> : : * different, the FRU ID data and pointer pair to keyword VPD</a> +<a name="758"><span class="lineNum"> 758 </span> : : * are the same offset as a FRUVPD entry. So reuse it</a> +<a name="759"><span class="lineNum"> 759 </span> : : */</a> +<a name="760"><span class="lineNum"> 760 </span> :<span class="lineCov"> 1 : fruvpd_hdr = get_hdif(&spiras->ntuples.sp_subsys, SPSS_HDIF_SIG);</span></a> +<a name="761"><span class="lineNum"> 761 </span> :<span class="lineCov"> 1 : if (fruvpd_hdr)</span></a> +<a name="762"><span class="lineNum"> 762 </span> :<span class="lineCov"> 1 : dt_add_vpd_node(fruvpd_hdr,</span></a> +<a name="763"><span class="lineNum"> 763 </span> : : FRUVPD_IDATA_FRU_ID, FRUVPD_IDATA_KW_VPD);</a> +<a name="764"><span class="lineNum"> 764 </span> :<span class="lineCov"> 1 : }</span></a> </pre> </td> </tr> diff --git a/coverage-report/hw/index-sort-b.html b/coverage-report/hw/index-sort-b.html index a305322..98b7184 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 %</td> - <td class="coverNumMed">38 / 49</td> - <td class="coverPerMed">75.0 %</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 %</td> + <td class="coverNumMed">38 / 49</td> + <td class="coverPerMed">75.0 %</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 8cc76a9..fd99167 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 8cb2a0d..edceb84 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 69001a1..b446381 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 f1f6242..032d2c9 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 60462f7..fc50b38 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 32e8788..0653477 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 fb4e532..5ccd78b 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 d0afc1c..3d00e1b 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 bea2800..e5cdb02 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 b9940f9..ad2e09f 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 e82b643..7d6e661 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 cfd52a8..0472c45 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 b2daac3..89d374c 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 ce25fe9..7c97af3 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 9526b44..0cf66ab 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 666d477..9a07b0b 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 74d89f6..1a697da 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 16c80a2..701741d 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 810358e..30462d5 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 733c100..1e5a05e 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 946cd76..c5abb8a 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 2434b94..ae7aaf9 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 a301e6c..0d5ce1d 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 0bd7661..eaf2d4b 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">6</td> diff --git a/coverage-report/hw/test/index-sort-f.html b/coverage-report/hw/test/index-sort-f.html index d1b0dfb..efc26a4 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 7c6e64f..aaf1ff7 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 55afc0b..f1f4a87 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 94e2621..4e7b8c0 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 6f272d4..bacaff3 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 a70ae79..a60ebe9 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 508987e..c124126 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 b2d5c86..97a58a4 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 c5cafcd..ec50c1a 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 21229f4..9ae9a53 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 c9ad99a..7faee27 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 d8c3c8a..e4f0e6c 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 dfb9584..47e1920 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">1</td> @@ -70,7 +70,7 @@ </tr> <tr> <td class="coverFn"><a href="chip.h.gcov.html#192">chip_quirk</a></td> - <td class="coverFnHi">38</td> + <td class="coverFnHi">36</td> </tr> </table> <br> diff --git a/coverage-report/include/chip.h.func.html b/coverage-report/include/chip.h.func.html index 29c78fa..ec88461 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">1</td> @@ -70,7 +70,7 @@ </tr> <tr> <td class="coverFn"><a href="chip.h.gcov.html#192">chip_quirk</a></td> - <td class="coverFnHi">38</td> + <td class="coverFnHi">36</td> </tr> </table> <br> diff --git a/coverage-report/include/chip.h.gcov.html b/coverage-report/include/chip.h.gcov.html index 5df08e1..a55657e 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">1</td> @@ -262,9 +262,9 @@ <a name="191"><span class="lineNum"> 191 </span> : : </a> <a name="192"><span class="lineNum"> 192 </span> : : extern enum proc_chip_quirks proc_chip_quirks;</a> <a name="193"><span class="lineNum"> 193 </span> : : </a> -<a name="194"><span class="lineNum"> 194 </span> :<span class="lineCov"> 38 : static inline bool chip_quirk(unsigned int q)</span></a> +<a name="194"><span class="lineNum"> 194 </span> :<span class="lineCov"> 36 : static inline bool chip_quirk(unsigned int q)</span></a> <a name="195"><span class="lineNum"> 195 </span> : : {</a> -<a name="196"><span class="lineNum"> 196 </span> :<span class="lineCov"> 38 : return !!(proc_chip_quirks & q);</span></a> +<a name="196"><span class="lineNum"> 196 </span> :<span class="lineCov"> 36 : return !!(proc_chip_quirks & q);</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> : : #define MAX_CHIPS (1 << 6) /* 6-bit chip ID */</a> diff --git a/coverage-report/include/compiler.h.func-sort-c.html b/coverage-report/include/compiler.h.func-sort-c.html index a117720..cdcd571 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 f1df4b7..cc574c2 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 ae44de4..d105caa 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 18dd4b7..673e8e3 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">4</td> @@ -70,19 +70,19 @@ </tr> <tr> <td class="coverFn"><a href="device.h.gcov.html#50">get_last_phandle</a></td> - <td class="coverFnHi">2</td> + <td class="coverFnHi">1</td> </tr> <tr> <td class="coverFn"><a href="device.h.gcov.html#55">set_last_phandle</a></td> - <td class="coverFnHi">7</td> + <td class="coverFnHi">6</td> </tr> <tr> <td class="coverFn"><a href="device.h.gcov.html#116">dt_add_property_u64</a></td> - <td class="coverFnHi">46</td> + <td class="coverFnHi">14</td> </tr> <tr> <td class="coverFn"><a href="device.h.gcov.html#60">new_phandle</a></td> - <td class="coverFnHi">894</td> + <td class="coverFnHi">737</td> </tr> </table> <br> diff --git a/coverage-report/include/device.h.func.html b/coverage-report/include/device.h.func.html index b51c336..5d40835 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">4</td> @@ -70,19 +70,19 @@ </tr> <tr> <td class="coverFn"><a href="device.h.gcov.html#116">dt_add_property_u64</a></td> - <td class="coverFnHi">46</td> + <td class="coverFnHi">14</td> </tr> <tr> <td class="coverFn"><a href="device.h.gcov.html#50">get_last_phandle</a></td> - <td class="coverFnHi">2</td> + <td class="coverFnHi">1</td> </tr> <tr> <td class="coverFn"><a href="device.h.gcov.html#60">new_phandle</a></td> - <td class="coverFnHi">894</td> + <td class="coverFnHi">737</td> </tr> <tr> <td class="coverFn"><a href="device.h.gcov.html#55">set_last_phandle</a></td> - <td class="coverFnHi">7</td> + <td class="coverFnHi">6</td> </tr> </table> <br> diff --git a/coverage-report/include/device.h.gcov.html b/coverage-report/include/device.h.gcov.html index 7071f63..b2e6581 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">4</td> @@ -120,19 +120,19 @@ <a name="49"><span class="lineNum"> 49 </span> : : bool dt_attach_root(struct dt_node *parent, struct dt_node *root);</a> <a name="50"><span class="lineNum"> 50 </span> : : </a> <a name="51"><span class="lineNum"> 51 </span> : : /* Wrappers for last_phandle operations */</a> -<a name="52"><span class="lineNum"> 52 </span> :<span class="lineCov"> 2 : static inline u32 get_last_phandle(void)</span></a> +<a name="52"><span class="lineNum"> 52 </span> :<span class="lineCov"> 1 : static inline u32 get_last_phandle(void)</span></a> <a name="53"><span class="lineNum"> 53 </span> : : {</a> -<a name="54"><span class="lineNum"> 54 </span> :<span class="lineCov"> 2 : return last_phandle;</span></a> +<a name="54"><span class="lineNum"> 54 </span> :<span class="lineCov"> 1 : return last_phandle;</span></a> <a name="55"><span class="lineNum"> 55 </span> : : }</a> <a name="56"><span class="lineNum"> 56 </span> : : </a> -<a name="57"><span class="lineNum"> 57 </span> :<span class="lineCov"> 7 : static inline void set_last_phandle(u32 phandle)</span></a> +<a name="57"><span class="lineNum"> 57 </span> :<span class="lineCov"> 6 : static inline void set_last_phandle(u32 phandle)</span></a> <a name="58"><span class="lineNum"> 58 </span> : : {</a> -<a name="59"><span class="lineNum"> 59 </span> :<span class="lineCov"> 7 : last_phandle = phandle;</span></a> -<a name="60"><span class="lineNum"> 60 </span> :<span class="lineCov"> 7 : }</span></a> +<a name="59"><span class="lineNum"> 59 </span> :<span class="lineCov"> 6 : last_phandle = phandle;</span></a> +<a name="60"><span class="lineNum"> 60 </span> :<span class="lineCov"> 6 : }</span></a> <a name="61"><span class="lineNum"> 61 </span> : : </a> -<a name="62"><span class="lineNum"> 62 </span> :<span class="lineCov"> 894 : static inline u32 new_phandle(void)</span></a> +<a name="62"><span class="lineNum"> 62 </span> :<span class="lineCov"> 737 : static inline u32 new_phandle(void)</span></a> <a name="63"><span class="lineNum"> 63 </span> : : {</a> -<a name="64"><span class="lineNum"> 64 </span> :<span class="lineCov"> 894 : return ++last_phandle;</span></a> +<a name="64"><span class="lineNum"> 64 </span> :<span class="lineCov"> 737 : return ++last_phandle;</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> : : /* Add a child node. */</a> @@ -186,10 +186,10 @@ <a name="115"><span class="lineNum"> 115 </span> : : const char *name,</a> <a name="116"><span class="lineNum"> 116 </span> : : int count, ...);</a> <a name="117"><span class="lineNum"> 117 </span> : : </a> -<a name="118"><span class="lineNum"> 118 </span> :<span class="lineCov"> 46 : static inline struct dt_property *dt_add_property_u64(struct dt_node *node,</span></a> +<a name="118"><span class="lineNum"> 118 </span> :<span class="lineCov"> 14 : static inline struct dt_property *dt_add_property_u64(struct dt_node *node,</span></a> <a name="119"><span class="lineNum"> 119 </span> : : const char *name, u64 val)</a> <a name="120"><span class="lineNum"> 120 </span> : : {</a> -<a name="121"><span class="lineNum"> 121 </span> :<span class="lineCov"> 46 : return dt_add_property_cells(node, name, (u32)(val >> 32),</span></a> +<a name="121"><span class="lineNum"> 121 </span> :<span class="lineCov"> 14 : return dt_add_property_cells(node, name, (u32)(val >> 32),</span></a> <a name="122"><span class="lineNum"> 122 </span> : : (u32)(val & 0xffffffffUL));</a> <a name="123"><span class="lineNum"> 123 </span> : : }</a> <a name="124"><span class="lineNum"> 124 </span> : : </a> diff --git a/coverage-report/include/index-sort-b.html b/coverage-report/include/index-sort-b.html index da4831f..e34e8d4 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">24</td> @@ -82,38 +82,50 @@ <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="compiler.h.gcov.html">compiler.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="../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 %</td> - <td class="coverNumLo">0 / 3</td> - <td class="coverPerLo">0.0 %</td> - <td class="coverNumLo">0 / 1</td> + <td class="coverPerHi">100.0 %</td> + <td class="coverNumHi">2 / 2</td> + <td class="coverPerHi">100.0 %</td> + <td class="coverNumHi">1 / 1</td> <td class="coverPerHi">-</td> <td class="coverNumHi">0 / 0</td> </tr> <tr> - <td class="coverFile"><a href="skiboot.h.gcov.html">skiboot.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 %</td> - <td class="coverNumHi">4 / 4</td> + <td class="coverNumHi">9 / 9</td> <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">2 / 2</td> + <td class="coverNumHi">4 / 4</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="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 %</td> - <td class="coverNumHi">2 / 2</td> + <td class="coverNumHi">8 / 8</td> <td class="coverPerHi">100.0 %</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="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 %</td> + <td class="coverNumLo">0 / 3</td> + <td class="coverPerLo">0.0 %</td> + <td class="coverNumLo">0 / 1</td> <td class="coverPerHi">-</td> <td class="coverNumHi">0 / 0</td> </tr> @@ -142,72 +154,60 @@ <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="skiboot.h.gcov.html">skiboot.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 %</td> - <td class="coverNumHi">9 / 9</td> - <td class="coverPerHi">100.0 %</td> <td class="coverNumHi">4 / 4</td> + <td class="coverPerHi">100.0 %</td> + <td class="coverNumHi">2 / 2</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="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 %</td> - <td class="coverNumHi">8 / 8</td> + <td class="coverNumHi">3 / 3</td> <td class="coverPerHi">100.0 %</td> <td class="coverNumHi">1 / 1</td> <td class="coverPerHi">-</td> <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="processor.h.gcov.html">processor.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="../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">100.0 %</td> - <td class="coverNumHi">7 / 7</td> - <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">3 / 3</td> + <td class="coverPerLo">33.3 %</td> + <td class="coverNumLo">4 / 12</td> + <td class="coverPerLo">50.0 %</td> + <td class="coverNumLo">1 / 2</td> <td class="coverPerHi">-</td> <td class="coverNumHi">0 / 0</td> </tr> <tr> - <td class="coverFile"><a href="bitmap.h.gcov.html">bitmap.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 %</td> - <td class="coverNumHi">8 / 8</td> + <td class="coverNumHi">7 / 7</td> <td class="coverPerHi">100.0 %</td> <td class="coverNumHi">3 / 3</td> <td class="coverPerHi">-</td> <td class="coverNumHi">0 / 0</td> </tr> <tr> - <td class="coverFile"><a href="processor.h.gcov.html">processor.h</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.3%"><img src="../snow.png" width=67 height=10 alt="33.3%"></td></tr></table> - </td> - <td class="coverPerLo">33.3 %</td> - <td class="coverNumLo">4 / 12</td> - <td class="coverPerLo">50.0 %</td> - <td class="coverNumLo">1 / 2</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 %</td> - <td class="coverNumHi">3 / 3</td> + <td class="coverNumHi">8 / 8</td> <td class="coverPerHi">100.0 %</td> <td class="coverNumHi">1 / 1</td> <td class="coverPerHi">-</td> diff --git a/coverage-report/include/index-sort-f.html b/coverage-report/include/index-sort-f.html index 600e765..d5119d0 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">24</td> @@ -130,24 +130,24 @@ <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="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 %</td> - <td class="coverNumHi">8 / 8</td> + <td class="coverNumHi">3 / 3</td> <td class="coverPerHi">100.0 %</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 %</td> - <td class="coverNumHi">3 / 3</td> + <td class="coverNumHi">8 / 8</td> <td class="coverPerHi">100.0 %</td> <td class="coverNumHi">1 / 1</td> <td class="coverPerHi">-</td> @@ -166,24 +166,24 @@ <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="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 %</td> - <td class="coverNumHi">7 / 7</td> + <td class="coverNumHi">8 / 8</td> <td class="coverPerHi">100.0 %</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.h.gcov.html">bitmap.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 %</td> - <td class="coverNumHi">8 / 8</td> + <td class="coverNumHi">7 / 7</td> <td class="coverPerHi">100.0 %</td> <td class="coverNumHi">3 / 3</td> <td class="coverPerHi">-</td> diff --git a/coverage-report/include/index-sort-l.html b/coverage-report/include/index-sort-l.html index 377aad1..a2f9581 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">24</td> @@ -166,26 +166,26 @@ <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="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 %</td> <td class="coverNumHi">8 / 8</td> <td class="coverPerHi">100.0 %</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="bitmap.h.gcov.html">bitmap.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 %</td> <td class="coverNumHi">8 / 8</td> <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">3 / 3</td> + <td class="coverNumHi">1 / 1</td> <td class="coverPerHi">-</td> <td class="coverNumHi">0 / 0</td> </tr> diff --git a/coverage-report/include/index.html b/coverage-report/include/index.html index da6fd9e..cbda57b 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 9fbf5eb..cc2e2c8 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">1</td> @@ -70,7 +70,7 @@ </tr> <tr> <td class="coverFn"><a href="lock.h.gcov.html#70">init_lock</a></td> - <td class="coverFnHi">164</td> + <td class="coverFnHi">150</td> </tr> </table> <br> diff --git a/coverage-report/include/lock.h.func.html b/coverage-report/include/lock.h.func.html index bb811a0..ee5c29e 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">1</td> @@ -70,7 +70,7 @@ </tr> <tr> <td class="coverFn"><a href="lock.h.gcov.html#70">init_lock</a></td> - <td class="coverFnHi">164</td> + <td class="coverFnHi">150</td> </tr> </table> <br> diff --git a/coverage-report/include/lock.h.gcov.html b/coverage-report/include/lock.h.gcov.html index 4e92ff5..2db7889 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">1</td> @@ -140,10 +140,10 @@ <a name="69"><span class="lineNum"> 69 </span> : : </a> <a name="70"><span class="lineNum"> 70 </span> : : extern bool bust_locks;</a> <a name="71"><span class="lineNum"> 71 </span> : : </a> -<a name="72"><span class="lineNum"> 72 </span> :<span class="lineCov"> 164 : static inline void init_lock(struct lock *l)</span></a> +<a name="72"><span class="lineNum"> 72 </span> :<span class="lineCov"> 150 : static inline void init_lock(struct lock *l)</span></a> <a name="73"><span class="lineNum"> 73 </span> : : {</a> -<a name="74"><span class="lineNum"> 74 </span> :<span class="lineCov"> 164 : *l = (struct lock)LOCK_UNLOCKED;</span></a> -<a name="75"><span class="lineNum"> 75 </span> :<span class="lineCov"> 164 : }</span></a> +<a name="74"><span class="lineNum"> 74 </span> :<span class="lineCov"> 150 : *l = (struct lock)LOCK_UNLOCKED;</span></a> +<a name="75"><span class="lineNum"> 75 </span> :<span class="lineCov"> 150 : }</span></a> <a name="76"><span class="lineNum"> 76 </span> : : </a> <a name="77"><span class="lineNum"> 77 </span> : : #define LOCK_CALLER __FILE__ ":" stringify(__LINE__)</a> <a name="78"><span class="lineNum"> 78 </span> : : </a> 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 3443162..6e8529d 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 e8f6a73..77a9600 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 cb78e82..e7c743e 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 2dfd370..c73c181 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 e1e9b33..85e2654 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 46b81c9..d03eb29 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 fb622bb..2ffd308 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 bd7095e..b46b251 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 1585be7..336ee06 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 fff26bf..efeaa26 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">2</td> @@ -70,11 +70,11 @@ </tr> <tr> <td class="coverFn"><a href="skiboot.h.gcov.html#157">cleanup_addr</a></td> - <td class="coverFnHi">222</td> + <td class="coverFnHi">53</td> </tr> <tr> <td class="coverFn"><a href="skiboot.h.gcov.html#50">is_rodata</a></td> - <td class="coverFnHi">5830</td> + <td class="coverFnHi">1878</td> </tr> </table> <br> diff --git a/coverage-report/include/skiboot.h.func.html b/coverage-report/include/skiboot.h.func.html index fe94ae0..7fc64cc 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">2</td> @@ -70,11 +70,11 @@ </tr> <tr> <td class="coverFn"><a href="skiboot.h.gcov.html#157">cleanup_addr</a></td> - <td class="coverFnHi">222</td> + <td class="coverFnHi">53</td> </tr> <tr> <td class="coverFn"><a href="skiboot.h.gcov.html#50">is_rodata</a></td> - <td class="coverFnHi">5830</td> + <td class="coverFnHi">1878</td> </tr> </table> <br> diff --git a/coverage-report/include/skiboot.h.gcov.html b/coverage-report/include/skiboot.h.gcov.html index e7b0555..a57de85 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">2</td> @@ -120,9 +120,9 @@ <a name="49"><span class="lineNum"> 49 </span> : : /* Readonly section start and end. */</a> <a name="50"><span class="lineNum"> 50 </span> : : extern char __rodata_start[], __rodata_end[];</a> <a name="51"><span class="lineNum"> 51 </span> : : </a> -<a name="52"><span class="lineNum"> 52 </span> :<span class="lineCov"> 5830 : static inline bool is_rodata(const void *p)</span></a> +<a name="52"><span class="lineNum"> 52 </span> :<span class="lineCov"> 1878 : static inline bool is_rodata(const void *p)</span></a> <a name="53"><span class="lineNum"> 53 </span> : : {</a> -<a name="54"><span class="lineNum"> 54 </span> :<span class="lineCov"> 5830 : return ((const char *)p >= __rodata_start && (const char *)p < __rodata_end);</span></a> +<a name="54"><span class="lineNum"> 54 </span> :<span class="lineCov"> 1878 : return ((const char *)p >= __rodata_start && (const char *)p < __rodata_end);</span></a> <a name="55"><span class="lineNum"> 55 </span> : : }</a> <a name="56"><span class="lineNum"> 56 </span> : : #else</a> <a name="57"><span class="lineNum"> 57 </span> : : static inline bool is_rodata(const void *p)</a> @@ -227,9 +227,9 @@ <a name="156"><span class="lineNum"> 156 </span> : : #define HRMOR_BIT (1ul << 63)</a> <a name="157"><span class="lineNum"> 157 </span> : : </a> <a name="158"><span class="lineNum"> 158 </span> : : /* Clean the stray high bit which the FSP inserts: we only have 52 bits real */</a> -<a name="159"><span class="lineNum"> 159 </span> :<span class="lineCov"> 222 : static inline u64 cleanup_addr(u64 addr)</span></a> +<a name="159"><span class="lineNum"> 159 </span> :<span class="lineCov"> 53 : static inline u64 cleanup_addr(u64 addr)</span></a> <a name="160"><span class="lineNum"> 160 </span> : : {</a> -<a name="161"><span class="lineNum"> 161 </span> :<span class="lineCov"> 222 : return addr & ((1ULL << 52) - 1);</span></a> +<a name="161"><span class="lineNum"> 161 </span> :<span class="lineCov"> 53 : return addr & ((1ULL << 52) - 1);</span></a> <a name="162"><span class="lineNum"> 162 </span> : : }</a> <a name="163"><span class="lineNum"> 163 </span> : : </a> <a name="164"><span class="lineNum"> 164 </span> : : /* Start the kernel */</a> 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 bdb477a..db71e62 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 74dcfbb..4e6b1b2 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 7f02bd9..aba9698 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 3c377f2..dc9f88f 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 c551a21..4bb6959 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 6a00c53..70f05a7 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 4378aa7..4a50feb 100644 --- a/coverage-report/index-sort-b.html +++ b/coverage-report/index-sort-b.html @@ -31,13 +31,13 @@ <td class="headerValue">skiboot.info</td> <td></td> <td class="headerItem">Lines:</td> - <td class="headerCovTableEntry">14634</td> - <td class="headerCovTableEntry">23847</td> - <td class="headerCovTableEntryLo">61.4 %</td> + <td class="headerCovTableEntry">14594</td> + <td class="headerCovTableEntry">23811</td> + <td class="headerCovTableEntryLo">61.3 %</td> </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">1179</td> @@ -82,50 +82,62 @@ <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="external/gard/libflash/index.html">external/gard/libflash</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="ruby.png" width=20 height=10 alt="19.9%"><img src="snow.png" width=80 height=10 alt="19.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">19.9 %</td> - <td class="coverNumLo">304 / 1528</td> - <td class="coverPerLo">30.6 %</td> - <td class="coverNumLo">26 / 85</td> + <td class="coverPerHi">100.0 %</td> + <td class="coverNumHi">6 / 6</td> + <td class="coverPerHi">100.0 %</td> + <td class="coverNumHi">1 / 1</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="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=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="ruby.png" width=74 height=10 alt="74.4%"><img src="snow.png" width=26 height=10 alt="74.4%"></td></tr></table> </td> - <td class="coverPerLo">60.3 %</td> - <td class="coverNumLo">486 / 806</td> - <td class="coverPerMed">78.9 %</td> - <td class="coverNumMed">15 / 19</td> + <td class="coverPerLo">74.4 %</td> + <td class="coverNumLo">1425 / 1915</td> + <td class="coverPerHi">95.3 %</td> + <td class="coverNumHi">123 / 129</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="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=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=45 height=10 alt="44.7%"><img src="snow.png" width=55 height=10 alt="44.7%"></td></tr></table> </td> - <td class="coverPerLo">37.5 %</td> - <td class="coverNumLo">12 / 32</td> - <td class="coverPerLo">33.3 %</td> - <td class="coverNumLo">2 / 6</td> + <td class="coverPerLo">44.7 %</td> + <td class="coverNumLo">196 / 438</td> + <td class="coverPerLo">64.3 %</td> + <td class="coverNumLo">18 / 28</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="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 %</td> - <td class="coverNumHi">24 / 24</td> + <td class="coverNumHi">2 / 2</td> <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">6 / 6</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/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="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="coverPerHi">97.5 %</td> + <td class="coverNumHi">159 / 163</td> + <td class="coverPerHi">100.0 %</td> + <td class="coverNumHi">8 / 8</td> <td class="coverPerHi">-</td> <td class="coverNumHi">0 / 0</td> </tr> @@ -142,26 +154,26 @@ <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="hw/index.html">hw</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=91 height=10 alt="90.6%"><img src="snow.png" width=9 height=10 alt="90.6%"></td></tr></table> </td> - <td class="coverPerLo">0.0 %</td> - <td class="coverNumLo">0 / 17</td> - <td class="coverPerLo">0.0 %</td> - <td class="coverNumLo">0 / 3</td> + <td class="coverPerHi">90.6 %</td> + <td class="coverNumHi">115 / 127</td> + <td class="coverPerMed">85.7 %</td> + <td class="coverNumMed">6 / 7</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="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="ruby.png" width=33 height=10 alt="33.4%"><img src="snow.png" width=67 height=10 alt="33.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">33.4 %</td> - <td class="coverNumLo">283 / 847</td> - <td class="coverPerLo">49.0 %</td> - <td class="coverNumLo">47 / 96</td> + <td class="coverPerHi">100.0 %</td> + <td class="coverNumHi">35 / 35</td> + <td class="coverPerHi">100.0 %</td> + <td class="coverNumHi">3 / 3</td> <td class="coverPerHi">-</td> <td class="coverNumHi">0 / 0</td> </tr> @@ -178,134 +190,158 @@ <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="core/index.html">core</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=73 height=10 alt="72.6%"><img src="snow.png" width=27 height=10 alt="72.6%"></td></tr></table> </td> - <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">6 / 6</td> - <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">1 / 1</td> + <td class="coverPerLo">72.6 %</td> + <td class="coverNumLo">1998 / 2751</td> + <td class="coverPerMed">81.0 %</td> + <td class="coverNumMed">187 / 231</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/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=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=25 height=10 alt="25.1%"><img src="snow.png" width=75 height=10 alt="25.1%"></td></tr></table> </td> - <td class="coverPerHi">99.6 %</td> - <td class="coverNumHi">687 / 690</td> - <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">24 / 24</td> + <td class="coverPerLo">25.1 %</td> + <td class="coverNumLo">384 / 1528</td> + <td class="coverPerLo">35.3 %</td> + <td class="coverNumLo">30 / 85</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="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="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=38 height=10 alt="37.5%"><img src="snow.png" width=62 height=10 alt="37.5%"></td></tr></table> </td> - <td class="coverPerMed">75.0 %</td> - <td class="coverNumMed">123 / 164</td> - <td class="coverPerMed">75.0 %</td> - <td class="coverNumMed">6 / 8</td> + <td class="coverPerLo">37.5 %</td> + <td class="coverNumLo">12 / 32</td> + <td class="coverPerLo">33.3 %</td> + <td class="coverNumLo">2 / 6</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="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="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="emerald.png" width=100 height=10 alt="100.0%"></td></tr></table> </td> - <td class="coverPerLo">64.6 %</td> - <td class="coverNumLo">64 / 99</td> - <td class="coverPerLo">57.1 %</td> - <td class="coverNumLo">4 / 7</td> + <td class="coverPerHi">100.0 %</td> + <td class="coverNumHi">10 / 10</td> + <td class="coverPerHi">100.0 %</td> + <td class="coverNumHi">2 / 2</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="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=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.8%"><img src="snow.png" width=5 height=10 alt="94.8%"></td></tr></table> </td> - <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">73 / 73</td> - <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">1 / 1</td> + <td class="coverPerHi">94.8 %</td> + <td class="coverNumHi">73 / 77</td> + <td class="coverPerMed">80.0 %</td> + <td class="coverNumMed">4 / 5</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="libfdt/index.html">libfdt</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=33 height=10 alt="33.4%"><img src="snow.png" width=67 height=10 alt="33.4%"></td></tr></table> </td> - <td class="coverPerLo">0.0 %</td> - <td class="coverNumLo">0 / 17</td> - <td class="coverPerLo">0.0 %</td> - <td class="coverNumLo">0 / 3</td> + <td class="coverPerLo">33.4 %</td> + <td class="coverNumLo">283 / 847</td> + <td class="coverPerLo">49.0 %</td> + <td class="coverNumLo">47 / 96</td> <td class="coverPerHi">-</td> <td class="coverNumHi">0 / 0</td> </tr> <tr> - <td class="coverFile"><a href="libflash/test/index.html">libflash/test</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="ruby.png" width=74 height=10 alt="74.4%"><img src="snow.png" width=26 height=10 alt="74.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">74.4 %</td> - <td class="coverNumLo">1425 / 1915</td> - <td class="coverPerHi">95.3 %</td> - <td class="coverNumHi">123 / 129</td> + <td class="coverPerMed">75.0 %</td> + <td class="coverNumMed">123 / 164</td> + <td class="coverPerMed">75.0 %</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/container_of/index.html">ccan/container_of</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 %</td> + <td class="coverNumHi">377 / 383</td> <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">2 / 2</td> - <td class="coverPerHi">100.0 %</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="ccan/list/test/index.html">ccan/list/test</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="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="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">98.6 %</td> - <td class="coverNumHi">511 / 518</td> + <td class="coverPerLo">33.3 %</td> + <td class="coverNumLo">4 / 12</td> <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">14 / 14</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/index.html">hw</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="emerald.png" width=91 height=10 alt="90.6%"><img src="snow.png" width=9 height=10 alt="90.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="coverPerHi">90.6 %</td> - <td class="coverNumHi">115 / 127</td> - <td class="coverPerMed">85.7 %</td> - <td class="coverNumMed">6 / 7</td> + <td class="coverPerLo">71.4 %</td> + <td class="coverNumLo">120 / 168</td> + <td class="coverPerMed">77.8 %</td> + <td class="coverNumMed">14 / 18</td> <td class="coverPerHi">-</td> <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="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="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=100 height=10 alt="100.0%"></td></tr></table> </td> - <td class="coverPerHi">95.3 %</td> - <td class="coverNumHi">61 / 64</td> <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">8 / 8</td> + <td class="coverNumHi">81 / 81</td> + <td class="coverPerHi">100.0 %</td> + <td class="coverNumHi">3 / 3</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.2%"><img src="snow.png" width=34 height=10 alt="66.2%"></td></tr></table> + </td> + <td class="coverPerLo">66.2 %</td> + <td class="coverNumLo">1681 / 2539</td> + <td class="coverPerMed">84.8 %</td> + <td class="coverNumMed">145 / 171</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="coverBar" align="center"> + <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=61 height=10 alt="60.5%"><img src="snow.png" width=39 height=10 alt="60.5%"></td></tr></table> + </td> + <td class="coverPerLo">60.5 %</td> + <td class="coverNumLo">92 / 152</td> + <td class="coverPerLo">57.1 %</td> + <td class="coverNumLo">8 / 14</td> <td class="coverPerHi">-</td> <td class="coverNumHi">0 / 0</td> </tr> @@ -322,86 +358,98 @@ <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="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="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="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="coverPerHi">97.5 %</td> - <td class="coverNumHi">159 / 163</td> - <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">8 / 8</td> + <td class="coverPerLo">50.0 %</td> + <td class="coverNumLo">6 / 12</td> + <td class="coverPerLo">50.0 %</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/str/index.html">ccan/str</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="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=44 height=10 alt="43.9%"><img src="snow.png" width=56 height=10 alt="43.9%"></td></tr></table> </td> - <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">10 / 10</td> - <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">2 / 2</td> + <td class="coverPerLo">43.9 %</td> + <td class="coverNumLo">1226 / 2794</td> + <td class="coverPerLo">67.3 %</td> + <td class="coverNumLo">101 / 150</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="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="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=100 height=10 alt="100.0%"></td></tr></table> </td> - <td class="coverPerMed">76.4 %</td> - <td class="coverNumMed">55 / 72</td> <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">7 / 7</td> + <td class="coverNumHi">5 / 5</td> + <td class="coverPerHi">100.0 %</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/index.html">ccan/list</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=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="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">99.1 %</td> - <td class="coverNumHi">114 / 115</td> + <td class="coverPerHi">99.6 %</td> + <td class="coverNumHi">687 / 690</td> <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">23 / 23</td> + <td class="coverNumHi">24 / 24</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/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> </td> <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">4 / 4</td> + <td class="coverNumHi">24 / 24</td> <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">2 / 2</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/endian/index.html">ccan/endian</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="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=71 height=10 alt="70.9%"><img src="snow.png" width=29 height=10 alt="70.9%"></td></tr></table> </td> - <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">24 / 24</td> - <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">12 / 12</td> + <td class="coverPerLo">70.9 %</td> + <td class="coverNumLo">329 / 464</td> + <td class="coverPerHi">95.8 %</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/check_type/test/index.html">ccan/check_type/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 %</td> - <td class="coverNumHi">5 / 5</td> + <td class="coverNumHi">4 / 4</td> <td class="coverPerHi">100.0 %</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="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> + <td class="coverPerLo">37.5 %</td> + <td class="coverNumLo">12 / 32</td> + <td class="coverPerLo">33.3 %</td> + <td class="coverNumLo">2 / 6</td> <td class="coverPerHi">-</td> <td class="coverNumHi">0 / 0</td> </tr> @@ -418,7 +466,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> @@ -430,230 +478,194 @@ <td class="coverNumHi">0 / 0</td> </tr> <tr> - <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=71 height=10 alt="71.4%"><img src="snow.png" width=29 height=10 alt="71.4%"></td></tr></table> - </td> - <td class="coverPerLo">71.4 %</td> - <td class="coverNumLo">120 / 168</td> - <td class="coverPerMed">77.8 %</td> - <td class="coverNumMed">14 / 18</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 %</td> - <td class="coverNumHi">9 / 9</td> + <td class="coverNumHi">73 / 73</td> <td class="coverPerHi">100.0 %</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="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=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=99 height=10 alt="99.1%"><img src="snow.png" width=1 height=10 alt="99.1%"></td></tr></table> </td> - <td class="coverPerLo">44.7 %</td> - <td class="coverNumLo">196 / 438</td> - <td class="coverPerLo">64.3 %</td> - <td class="coverNumLo">18 / 28</td> + <td class="coverPerHi">99.1 %</td> + <td class="coverNumHi">114 / 115</td> + <td class="coverPerHi">100.0 %</td> + <td class="coverNumHi">23 / 23</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/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="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="snow.png" width=100 height=10 alt="0.0%"></td></tr></table> </td> - <td class="coverPerHi">98.4 %</td> - <td class="coverNumHi">377 / 383</td> - <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">31 / 31</td> + <td class="coverPerLo">0.0 %</td> + <td class="coverNumLo">0 / 17</td> + <td class="coverPerLo">0.0 %</td> + <td class="coverNumLo">0 / 3</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="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=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="84.8%"><img src="snow.png" width=15 height=10 alt="84.8%"></td></tr></table> </td> + <td class="coverPerMed">84.8 %</td> + <td class="coverNumMed">456 / 538</td> <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">39 / 39</td> - <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">2 / 2</td> + <td class="coverNumHi">24 / 24</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="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 %</td> - <td class="coverNumHi">81 / 81</td> + <td class="coverNumHi">13 / 13</td> <td class="coverPerHi">100.0 %</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/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=75 height=10 alt="75.3%"><img src="snow.png" width=25 height=10 alt="75.3%"></td></tr></table> - </td> - <td class="coverPerMed">75.3 %</td> - <td class="coverNumMed">168 / 223</td> - <td class="coverPerHi">92.9 %</td> - <td class="coverNumHi">13 / 14</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="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> - </td> - <td class="coverPerLo">62.5 %</td> - <td class="coverNumLo">105 / 168</td> - <td class="coverPerLo">57.1 %</td> - <td class="coverNumLo">8 / 14</td> + <td class="coverNumHi">1 / 1</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/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 %</td> - <td class="coverNumHi">35 / 35</td> + <td class="coverNumHi">2 / 2</td> <td class="coverPerHi">100.0 %</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="external/gard/index.html">external/gard</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="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=65 height=10 alt="64.6%"><img src="snow.png" width=35 height=10 alt="64.6%"></td></tr></table> </td> - <td class="coverPerLo">70.9 %</td> - <td class="coverNumLo">329 / 464</td> - <td class="coverPerHi">95.8 %</td> - <td class="coverNumHi">23 / 24</td> + <td class="coverPerLo">64.6 %</td> + <td class="coverNumLo">64 / 99</td> + <td class="coverPerLo">57.1 %</td> + <td class="coverNumLo">4 / 7</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="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=33 height=10 alt="33.3%"><img src="snow.png" width=67 height=10 alt="33.3%"></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">33.3 %</td> - <td class="coverNumLo">4 / 12</td> - <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">2 / 2</td> + <td class="coverPerLo">45.8 %</td> + <td class="coverNumLo">135 / 295</td> + <td class="coverPerLo">66.7 %</td> + <td class="coverNumLo">4 / 6</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="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=73 height=10 alt="72.7%"><img src="snow.png" width=27 height=10 alt="72.7%"></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">72.7 %</td> - <td class="coverNumLo">1999 / 2751</td> - <td class="coverPerMed">81.0 %</td> - <td class="coverNumMed">187 / 231</td> + <td class="coverPerLo">26.8 %</td> + <td class="coverNumLo">409 / 1528</td> + <td class="coverPerLo">43.5 %</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/common/index.html">external/ffspart/common</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=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="snow.png" width=100 height=10 alt="0.0%"></td></tr></table> </td> - <td class="coverPerLo">37.5 %</td> - <td class="coverNumLo">12 / 32</td> - <td class="coverPerLo">33.3 %</td> - <td class="coverNumLo">2 / 6</td> + <td class="coverPerLo">0.0 %</td> + <td class="coverNumLo">0 / 17</td> + <td class="coverPerLo">0.0 %</td> + <td class="coverNumLo">0 / 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="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="ruby.png" width=27 height=10 alt="26.8%"><img src="snow.png" width=73 height=10 alt="26.8%"></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="coverPerLo">26.8 %</td> - <td class="coverNumLo">409 / 1528</td> - <td class="coverPerLo">43.5 %</td> - <td class="coverNumLo">37 / 85</td> + <td class="coverPerHi">95.3 %</td> + <td class="coverNumHi">61 / 64</td> + <td class="coverPerHi">100.0 %</td> + <td class="coverNumHi">8 / 8</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="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 %</td> + <td class="coverNumMed">153 / 171</td> <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">13 / 13</td> - <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">1 / 1</td> + <td class="coverNumHi">12 / 12</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="test/index.html">test</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="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="coverPerLo">45.8 %</td> - <td class="coverNumLo">135 / 295</td> + <td class="coverPerLo">46.2 %</td> + <td class="coverNumLo">12 / 26</td> <td class="coverPerLo">66.7 %</td> - <td class="coverNumLo">4 / 6</td> + <td class="coverNumLo">2 / 3</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="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="ruby.png" width=25 height=10 alt="25.1%"><img src="snow.png" width=75 height=10 alt="25.1%"></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="coverPerLo">25.1 %</td> - <td class="coverNumLo">384 / 1528</td> - <td class="coverPerLo">35.3 %</td> - <td class="coverNumLo">30 / 85</td> + <td class="coverPerMed">75.3 %</td> + <td class="coverNumMed">168 / 223</td> + <td class="coverPerHi">92.9 %</td> + <td class="coverNumHi">13 / 14</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="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="emerald.png" width=95 height=10 alt="94.8%"><img src="snow.png" width=5 height=10 alt="94.8%"></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="coverPerHi">94.8 %</td> - <td class="coverNumHi">73 / 77</td> - <td class="coverPerMed">80.0 %</td> - <td class="coverNumMed">4 / 5</td> + <td class="coverPerLo">19.9 %</td> + <td class="coverNumLo">304 / 1528</td> + <td class="coverPerLo">30.6 %</td> + <td class="coverNumLo">26 / 85</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/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="amber.png" width=85 height=10 alt="84.8%"><img src="snow.png" width=15 height=10 alt="84.8%"></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">84.8 %</td> - <td class="coverNumMed">456 / 538</td> <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">24 / 24</td> + <td class="coverNumHi">9 / 9</td> + <td class="coverPerHi">100.0 %</td> + <td class="coverNumHi">1 / 1</td> <td class="coverPerHi">-</td> <td class="coverNumHi">0 / 0</td> </tr> @@ -670,38 +682,38 @@ <td class="coverNumHi">0 / 0</td> </tr> <tr> - <td class="coverFile"><a href="test/index.html">test</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="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="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="coverPerLo">46.2 %</td> - <td class="coverNumLo">12 / 26</td> - <td class="coverPerLo">66.7 %</td> - <td class="coverNumLo">2 / 3</td> + <td class="coverPerMed">76.4 %</td> + <td class="coverNumMed">55 / 72</td> + <td class="coverPerHi">100.0 %</td> + <td class="coverNumHi">7 / 7</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="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=66 height=10 alt="66.2%"><img src="snow.png" width=34 height=10 alt="66.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">66.2 %</td> - <td class="coverNumLo">1681 / 2539</td> - <td class="coverPerMed">84.8 %</td> - <td class="coverNumMed">145 / 171</td> + <td class="coverPerHi">100.0 %</td> + <td class="coverNumHi">24 / 24</td> + <td class="coverPerHi">100.0 %</td> + <td class="coverNumHi">6 / 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="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="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="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="coverPerLo">44.5 %</td> - <td class="coverNumLo">1252 / 2814</td> - <td class="coverPerLo">67.3 %</td> - <td class="coverNumLo">101 / 150</td> + <td class="coverPerHi">98.6 %</td> + <td class="coverNumHi">511 / 518</td> + <td class="coverPerHi">100.0 %</td> + <td class="coverNumHi">14 / 14</td> <td class="coverPerHi">-</td> <td class="coverNumHi">0 / 0</td> </tr> @@ -718,38 +730,26 @@ <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="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 %</td> - <td class="coverNumHi">2 / 2</td> - <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">1 / 1</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="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=50 height=10 alt="50.0%"><img src="snow.png" width=50 height=10 alt="50.0%"></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="coverPerLo">50.0 %</td> - <td class="coverNumLo">6 / 12</td> - <td class="coverPerLo">50.0 %</td> - <td class="coverNumLo">1 / 2</td> + <td class="coverPerLo">60.3 %</td> + <td class="coverNumLo">486 / 806</td> + <td class="coverPerMed">78.9 %</td> + <td class="coverNumMed">15 / 19</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="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="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="emerald.png" width=100 height=10 alt="100.0%"></td></tr></table> </td> - <td class="coverPerMed">89.5 %</td> - <td class="coverNumMed">153 / 171</td> <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">12 / 12</td> + <td class="coverNumHi">39 / 39</td> + <td class="coverPerHi">100.0 %</td> + <td class="coverNumHi">2 / 2</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 dd3332b..20d58de 100644 --- a/coverage-report/index-sort-f.html +++ b/coverage-report/index-sort-f.html @@ -31,13 +31,13 @@ <td class="headerValue">skiboot.info</td> <td></td> <td class="headerItem">Lines:</td> - <td class="headerCovTableEntry">14634</td> - <td class="headerCovTableEntry">23847</td> - <td class="headerCovTableEntryLo">61.4 %</td> + <td class="headerCovTableEntry">14594</td> + <td class="headerCovTableEntry">23811</td> + <td class="headerCovTableEntryLo">61.3 %</td> </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">1179</td> @@ -94,7 +94,7 @@ <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="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="snow.png" width=100 height=10 alt="0.0%"></td></tr></table> </td> @@ -106,7 +106,7 @@ <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/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="snow.png" width=100 height=10 alt="0.0%"></td></tr></table> </td> @@ -154,7 +154,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/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/pflash/common/index.html">external/pflash/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/ffspart/common/index.html">external/ffspart/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> @@ -252,10 +252,10 @@ <tr> <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=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=61 height=10 alt="60.5%"><img src="snow.png" width=39 height=10 alt="60.5%"></td></tr></table> </td> - <td class="coverPerLo">62.5 %</td> - <td class="coverNumLo">105 / 168</td> + <td class="coverPerLo">60.5 %</td> + <td class="coverNumLo">92 / 152</td> <td class="coverPerLo">57.1 %</td> <td class="coverNumLo">8 / 14</td> <td class="coverPerHi">-</td> @@ -300,10 +300,10 @@ <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> + <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=44 height=10 alt="43.9%"><img src="snow.png" width=56 height=10 alt="43.9%"></td></tr></table> </td> - <td class="coverPerLo">44.5 %</td> - <td class="coverNumLo">1252 / 2814</td> + <td class="coverPerLo">43.9 %</td> + <td class="coverNumLo">1226 / 2794</td> <td class="coverPerLo">67.3 %</td> <td class="coverNumLo">101 / 150</td> <td class="coverPerHi">-</td> @@ -360,10 +360,10 @@ <tr> <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=73 height=10 alt="72.7%"><img src="snow.png" width=27 height=10 alt="72.7%"></td></tr></table> + <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=73 height=10 alt="72.6%"><img src="snow.png" width=27 height=10 alt="72.6%"></td></tr></table> </td> - <td class="coverPerLo">72.7 %</td> - <td class="coverNumLo">1999 / 2751</td> + <td class="coverPerLo">72.6 %</td> + <td class="coverNumLo">1998 / 2751</td> <td class="coverPerMed">81.0 %</td> <td class="coverNumMed">187 / 231</td> <td class="coverPerHi">-</td> @@ -466,72 +466,72 @@ <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/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 %</td> - <td class="coverNumHi">73 / 73</td> + <td class="coverNumHi">2 / 2</td> <td class="coverPerHi">100.0 %</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/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 %</td> - <td class="coverNumHi">2 / 2</td> + <td class="coverNumHi">5 / 5</td> <td class="coverPerHi">100.0 %</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/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 %</td> - <td class="coverNumHi">5 / 5</td> + <td class="coverNumHi">73 / 73</td> <td class="coverPerHi">100.0 %</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/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 %</td> - <td class="coverNumHi">9 / 9</td> + <td class="coverNumHi">13 / 13</td> <td class="coverPerHi">100.0 %</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 %</td> - <td class="coverNumHi">13 / 13</td> + <td class="coverNumHi">2 / 2</td> <td class="coverPerHi">100.0 %</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="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 %</td> - <td class="coverNumHi">2 / 2</td> + <td class="coverNumHi">9 / 9</td> <td class="coverPerHi">100.0 %</td> <td class="coverNumHi">1 / 1</td> <td class="coverPerHi">-</td> @@ -550,60 +550,60 @@ <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/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=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=33 height=10 alt="33.3%"><img src="snow.png" width=67 height=10 alt="33.3%"></td></tr></table> </td> - <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">4 / 4</td> + <td class="coverPerLo">33.3 %</td> + <td class="coverNumLo">4 / 12</td> <td class="coverPerHi">100.0 %</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 %</td> - <td class="coverNumHi">39 / 39</td> + <td class="coverNumHi">4 / 4</td> <td class="coverPerHi">100.0 %</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/gard/ccan/endian/index.html">external/gard/ccan/endian</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="ruby.png" width=33 height=10 alt="33.3%"><img src="snow.png" width=67 height=10 alt="33.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="coverPerLo">33.3 %</td> - <td class="coverNumLo">4 / 12</td> + <td class="coverPerHi">100.0 %</td> + <td class="coverNumHi">39 / 39</td> <td class="coverPerHi">100.0 %</td> <td class="coverNumHi">2 / 2</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="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 %</td> - <td class="coverNumHi">81 / 81</td> + <td class="coverNumHi">35 / 35</td> <td class="coverPerHi">100.0 %</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=100 height=10 alt="100.0%"></td></tr></table> </td> <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">35 / 35</td> + <td class="coverNumHi">81 / 81</td> <td class="coverPerHi">100.0 %</td> <td class="coverNumHi">3 / 3</td> <td class="coverPerHi">-</td> @@ -646,24 +646,24 @@ <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="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="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=98 height=10 alt="97.5%"><img src="snow.png" width=2 height=10 alt="97.5%"></td></tr></table> </td> - <td class="coverPerHi">95.3 %</td> - <td class="coverNumHi">61 / 64</td> + <td class="coverPerHi">97.5 %</td> + <td class="coverNumHi">159 / 163</td> <td class="coverPerHi">100.0 %</td> <td class="coverNumHi">8 / 8</td> <td class="coverPerHi">-</td> <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 %</td> - <td class="coverNumHi">159 / 163</td> + <td class="coverPerHi">95.3 %</td> + <td class="coverNumHi">61 / 64</td> <td class="coverPerHi">100.0 %</td> <td class="coverNumHi">8 / 8</td> <td class="coverPerHi">-</td> diff --git a/coverage-report/index-sort-l.html b/coverage-report/index-sort-l.html index c911081..99c20e5 100644 --- a/coverage-report/index-sort-l.html +++ b/coverage-report/index-sort-l.html @@ -31,13 +31,13 @@ <td class="headerValue">skiboot.info</td> <td></td> <td class="headerItem">Lines:</td> - <td class="headerCovTableEntry">14634</td> - <td class="headerCovTableEntry">23847</td> - <td class="headerCovTableEntryLo">61.4 %</td> + <td class="headerCovTableEntry">14594</td> + <td class="headerCovTableEntry">23811</td> + <td class="headerCovTableEntryLo">61.3 %</td> </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">1179</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="external/pflash/ccan/list/index.html">external/pflash/ccan/list</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="snow.png" width=100 height=10 alt="0.0%"></td></tr></table> </td> @@ -94,7 +94,7 @@ <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/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="snow.png" width=100 height=10 alt="0.0%"></td></tr></table> </td> @@ -178,7 +178,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/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> @@ -190,7 +190,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/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> @@ -202,7 +202,7 @@ <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/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> @@ -216,10 +216,10 @@ <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> + <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=44 height=10 alt="43.9%"><img src="snow.png" width=56 height=10 alt="43.9%"></td></tr></table> </td> - <td class="coverPerLo">44.5 %</td> - <td class="coverNumLo">1252 / 2814</td> + <td class="coverPerLo">43.9 %</td> + <td class="coverNumLo">1226 / 2794</td> <td class="coverPerLo">67.3 %</td> <td class="coverNumLo">101 / 150</td> <td class="coverPerHi">-</td> @@ -288,10 +288,10 @@ <tr> <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=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=61 height=10 alt="60.5%"><img src="snow.png" width=39 height=10 alt="60.5%"></td></tr></table> </td> - <td class="coverPerLo">62.5 %</td> - <td class="coverNumLo">105 / 168</td> + <td class="coverPerLo">60.5 %</td> + <td class="coverNumLo">92 / 152</td> <td class="coverPerLo">57.1 %</td> <td class="coverNumLo">8 / 14</td> <td class="coverPerHi">-</td> @@ -372,10 +372,10 @@ <tr> <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=73 height=10 alt="72.7%"><img src="snow.png" width=27 height=10 alt="72.7%"></td></tr></table> + <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=73 height=10 alt="72.6%"><img src="snow.png" width=27 height=10 alt="72.6%"></td></tr></table> </td> - <td class="coverPerLo">72.7 %</td> - <td class="coverNumLo">1999 / 2751</td> + <td class="coverPerLo">72.6 %</td> + <td class="coverNumLo">1998 / 2751</td> <td class="coverPerMed">81.0 %</td> <td class="coverNumMed">187 / 231</td> <td class="coverPerHi">-</td> @@ -670,26 +670,26 @@ <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="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> </td> <td class="coverPerHi">100.0 %</td> <td class="coverNumHi">24 / 24</td> <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">6 / 6</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/endian/index.html">ccan/endian</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="emerald.png" width=100 height=10 alt="100.0%"></td></tr></table> </td> <td class="coverPerHi">100.0 %</td> <td class="coverNumHi">24 / 24</td> <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">12 / 12</td> + <td class="coverNumHi">6 / 6</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 fec5d98..add867a 100644 --- a/coverage-report/index.html +++ b/coverage-report/index.html @@ -31,13 +31,13 @@ <td class="headerValue">skiboot.info</td> <td></td> <td class="headerItem">Lines:</td> - <td class="headerCovTableEntry">14634</td> - <td class="headerCovTableEntry">23847</td> - <td class="headerCovTableEntryLo">61.4 %</td> + <td class="headerCovTableEntry">14594</td> + <td class="headerCovTableEntry">23811</td> + <td class="headerCovTableEntryLo">61.3 %</td> </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">1179</td> @@ -264,10 +264,10 @@ <tr> <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=73 height=10 alt="72.7%"><img src="snow.png" width=27 height=10 alt="72.7%"></td></tr></table> + <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=73 height=10 alt="72.6%"><img src="snow.png" width=27 height=10 alt="72.6%"></td></tr></table> </td> - <td class="coverPerLo">72.7 %</td> - <td class="coverNumLo">1999 / 2751</td> + <td class="coverPerLo">72.6 %</td> + <td class="coverNumLo">1998 / 2751</td> <td class="coverPerMed">81.0 %</td> <td class="coverNumMed">187 / 231</td> <td class="coverPerHi">-</td> @@ -468,10 +468,10 @@ <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> + <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="ruby.png" width=44 height=10 alt="43.9%"><img src="snow.png" width=56 height=10 alt="43.9%"></td></tr></table> </td> - <td class="coverPerLo">44.5 %</td> - <td class="coverNumLo">1252 / 2814</td> + <td class="coverPerLo">43.9 %</td> + <td class="coverNumLo">1226 / 2794</td> <td class="coverPerLo">67.3 %</td> <td class="coverNumLo">101 / 150</td> <td class="coverPerHi">-</td> @@ -480,10 +480,10 @@ <tr> <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=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=61 height=10 alt="60.5%"><img src="snow.png" width=39 height=10 alt="60.5%"></td></tr></table> </td> - <td class="coverPerLo">62.5 %</td> - <td class="coverNumLo">105 / 168</td> + <td class="coverPerLo">60.5 %</td> + <td class="coverNumLo">92 / 152</td> <td class="coverPerLo">57.1 %</td> <td class="coverNumLo">8 / 14</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 63c45f6..819cf2a 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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"><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="toupper.c.gcov.html">toupper.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> @@ -94,36 +94,36 @@ <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="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 %</td> - <td class="coverNumHi">6 / 6</td> + <td class="coverNumHi">2 / 2</td> <td class="coverPerHi">100.0 %</td> <td class="coverNumHi">1 / 1</td> <td class="coverPerHi">-</td> <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="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 %</td> - <td class="coverNumHi">6 / 6</td> + <td class="coverNumHi">4 / 4</td> <td class="coverPerHi">100.0 %</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="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> <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">2 / 2</td> + <td class="coverNumHi">6 / 6</td> <td class="coverPerHi">100.0 %</td> <td class="coverNumHi">1 / 1</td> <td class="coverPerHi">-</td> @@ -142,12 +142,12 @@ <td class="coverNumHi">0 / 0</td> </tr> <tr> - <td class="coverFile"><a href="isxdigit.c.gcov.html">isxdigit.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 %</td> - <td class="coverNumHi">4 / 4</td> + <td class="coverNumHi">6 / 6</td> <td class="coverPerHi">100.0 %</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 a319697..bd5a865 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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="toupper.c.gcov.html">toupper.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> @@ -94,36 +94,36 @@ <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="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 %</td> - <td class="coverNumHi">6 / 6</td> + <td class="coverNumHi">2 / 2</td> <td class="coverPerHi">100.0 %</td> <td class="coverNumHi">1 / 1</td> <td class="coverPerHi">-</td> <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="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 %</td> - <td class="coverNumHi">6 / 6</td> + <td class="coverNumHi">4 / 4</td> <td class="coverPerHi">100.0 %</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="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> <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">2 / 2</td> + <td class="coverNumHi">6 / 6</td> <td class="coverPerHi">100.0 %</td> <td class="coverNumHi">1 / 1</td> <td class="coverPerHi">-</td> @@ -142,12 +142,12 @@ <td class="coverNumHi">0 / 0</td> </tr> <tr> - <td class="coverFile"><a href="isxdigit.c.gcov.html">isxdigit.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 %</td> - <td class="coverNumHi">4 / 4</td> + <td class="coverNumHi">6 / 6</td> <td class="coverPerHi">100.0 %</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 d881877..ac55ce2 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">6</td> @@ -106,7 +106,7 @@ <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="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> @@ -118,7 +118,7 @@ <td class="coverNumHi">0 / 0</td> </tr> <tr> - <td class="coverFile"><a href="isxdigit.c.gcov.html">isxdigit.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> @@ -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 fc3e511..2800182 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 48e28fc..2d923fe 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 5aa9ada..7389c8c 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 8835e9a..37c19bb 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 6f6b7a9..f3b0672 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 d5049d3..4c1fc59 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 89733ec..d8a22bf 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 3060d79..524bae1 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 7b30990..3a59c6d 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 0063452..53eae01 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 8a656e0..8e4756e 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 1519c4e..9d23b90 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 15e7fa2..c01d232 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 36e062c..013cb61 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 972f603..3d6dcc1 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 4fce0f9..71edb65 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 7dd13cc..3876eec 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 6d1edb7..5e5f16a 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 1fd27df..8f5e287 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 99eea44..3cccf06 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 e9310fa..87752a9 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 b666170..7a20e66 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 4699ef8..29e3f7a 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 ba2d03f..03b09d4 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">8</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="snprintf.c.gcov.html">snprintf.c</a></td> + <td class="coverFile"><a href="vsnprintf.c.gcov.html">vsnprintf.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">97.4 %</td> + <td class="coverNumHi">152 / 156</td> <td class="coverPerHi">100.0 %</td> <td class="coverNumHi">7 / 7</td> - <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">1 / 1</td> <td class="coverPerHi">-</td> <td class="coverNumHi">0 / 0</td> </tr> <tr> - <td class="coverFile"><a href="vsnprintf.c.gcov.html">vsnprintf.c</a></td> + <td class="coverFile"><a href="snprintf.c.gcov.html">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=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 %</td> - <td class="coverNumHi">152 / 156</td> <td class="coverPerHi">100.0 %</td> <td class="coverNumHi">7 / 7</td> + <td class="coverPerHi">100.0 %</td> + <td class="coverNumHi">1 / 1</td> <td class="coverPerHi">-</td> <td class="coverNumHi">0 / 0</td> </tr> diff --git a/coverage-report/libc/stdio/index-sort-f.html b/coverage-report/libc/stdio/index-sort-f.html index 97a899d..32117d6 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 b3729d5..f7483f0 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 b57b85f..2d57626 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 2301a36..fd98332 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 32b18d9..eda9dad 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 c10c290..ce6ce01 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 b02c5ba..bd31728 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 95e0ee2..966794f 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 7504719..69649bf 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">7</td> 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 a1182fb..ab9097c 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 dfd4362..d8801ac 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 b33a934..27f34bb 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 25fda06..a102b46 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 d1632b0..e9d7e76 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 17aac80..ac21acd 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 f2f6c14..e545892 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">4</td> @@ -82,31 +82,31 @@ <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="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 %</td> - <td class="coverNumHi">37 / 38</td> + <td class="coverPerHi">100.0 %</td> + <td class="coverNumHi">32 / 32</td> <td class="coverPerHi">100.0 %</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="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="../../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=97 height=10 alt="97.4%"><img src="../../snow.png" width=3 height=10 alt="97.4%"></td></tr></table> </td> - <td class="coverPerLo">0.0 %</td> - <td class="coverNumLo">0 / 3</td> - <td class="coverPerLo">0.0 %</td> - <td class="coverNumLo">0 / 1</td> + <td class="coverPerHi">97.4 %</td> + <td class="coverNumHi">37 / 38</td> + <td class="coverPerHi">100.0 %</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,7 +118,7 @@ <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="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> @@ -130,14 +130,14 @@ <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="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 %</td> - <td class="coverNumHi">32 / 32</td> - <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">1 / 1</td> + <td class="coverPerLo">0.0 %</td> + <td class="coverNumLo">0 / 3</td> + <td class="coverPerLo">0.0 %</td> + <td class="coverNumLo">0 / 1</td> <td class="coverPerHi">-</td> <td class="coverNumHi">0 / 0</td> </tr> diff --git a/coverage-report/libc/stdlib/index-sort-f.html b/coverage-report/libc/stdlib/index-sort-f.html index b4dcf46..4ccf3c0 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">4</td> @@ -94,24 +94,24 @@ <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 %</td> - <td class="coverNumHi">37 / 38</td> + <td class="coverPerHi">100.0 %</td> + <td class="coverNumHi">32 / 32</td> <td class="coverPerHi">100.0 %</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="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 %</td> - <td class="coverNumHi">2 / 2</td> + <td class="coverPerHi">97.4 %</td> + <td class="coverNumHi">37 / 38</td> <td class="coverPerHi">100.0 %</td> <td class="coverNumHi">1 / 1</td> <td class="coverPerHi">-</td> @@ -130,12 +130,12 @@ <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 %</td> - <td class="coverNumHi">32 / 32</td> + <td class="coverNumHi">2 / 2</td> <td class="coverPerHi">100.0 %</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 ba2452a..a5c4cd8 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">4</td> @@ -106,7 +106,7 @@ <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,7 +118,7 @@ <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="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> diff --git a/coverage-report/libc/stdlib/index.html b/coverage-report/libc/stdlib/index.html index 8542a19..266b14e 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 a781f00..da9e3e4 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 76a9084..ff45a7d 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 37d0c1c..50923b9 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 b6e2170..973dd05 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 4a07f08..d922b18 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 7b0e3c3..b785f9c 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">1</td> 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 9208f0c..802239f 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 e564352..f3581c4 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 89d965c..16897cd 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">1</td> diff --git a/coverage-report/libc/string/index-sort-b.html b/coverage-report/libc/string/index-sort-b.html index 3f92f30..4cdd253 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">14</td> @@ -82,31 +82,19 @@ <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="memcpy.c.gcov.html">memcpy.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 %</td> - <td class="coverNumHi">13 / 13</td> + <td class="coverNumHi">7 / 7</td> <td class="coverPerHi">100.0 %</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="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 %</td> - <td class="coverNumLo">0 / 21</td> - <td class="coverPerLo">0.0 %</td> - <td class="coverNumLo">0 / 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="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> @@ -118,115 +106,115 @@ <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 %</td> - <td class="coverNumHi">9 / 9</td> + <td class="coverNumHi">7 / 7</td> <td class="coverPerHi">100.0 %</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="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 %</td> - <td class="coverNumHi">7 / 7</td> - <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">1 / 1</td> + <td class="coverPerLo">0.0 %</td> + <td class="coverNumLo">0 / 9</td> + <td class="coverPerLo">0.0 %</td> + <td class="coverNumLo">0 / 1</td> <td class="coverPerHi">-</td> <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="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 %</td> - <td class="coverNumHi">9 / 9</td> + <td class="coverNumHi">15 / 15</td> <td class="coverPerHi">100.0 %</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="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="../../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=46 height=10 alt="46.2%"><img src="../../snow.png" width=54 height=10 alt="46.2%"></td></tr></table> </td> - <td class="coverPerLo">0.0 %</td> - <td class="coverNumLo">0 / 9</td> - <td class="coverPerLo">0.0 %</td> - <td class="coverNumLo">0 / 1</td> + <td class="coverPerLo">46.2 %</td> + <td class="coverNumLo">6 / 13</td> + <td class="coverPerLo">50.0 %</td> + <td class="coverNumLo">1 / 2</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="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 %</td> - <td class="coverNumHi">9 / 9</td> - <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">1 / 1</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="strstr.c.gcov.html">strstr.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 %</td> - <td class="coverNumLo">0 / 11</td> + <td class="coverNumLo">0 / 21</td> <td class="coverPerLo">0.0 %</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="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 %</td> - <td class="coverNumHi">8 / 8</td> + <td class="coverNumHi">7 / 7</td> <td class="coverPerHi">100.0 %</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="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 %</td> - <td class="coverNumHi">7 / 7</td> + <td class="coverNumHi">9 / 9</td> <td class="coverPerHi">100.0 %</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="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 %</td> - <td class="coverNumHi">7 / 7</td> + <td class="coverNumHi">9 / 9</td> <td class="coverPerHi">100.0 %</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="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> @@ -238,14 +226,14 @@ <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="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 %</td> - <td class="coverNumHi">15 / 15</td> - <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">1 / 1</td> + <td class="coverPerLo">0.0 %</td> + <td class="coverNumLo">0 / 11</td> + <td class="coverPerLo">0.0 %</td> + <td class="coverNumLo">0 / 1</td> <td class="coverPerHi">-</td> <td class="coverNumHi">0 / 0</td> </tr> @@ -274,26 +262,38 @@ <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="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 %</td> - <td class="coverNumHi">5 / 5</td> + <td class="coverNumHi">8 / 8</td> + <td class="coverPerHi">100.0 %</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="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 %</td> + <td class="coverNumHi">9 / 9</td> + <td class="coverPerHi">100.0 %</td> + <td class="coverNumHi">1 / 1</td> <td class="coverPerHi">-</td> <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="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="../../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 %</td> - <td class="coverNumLo">6 / 13</td> - <td class="coverPerLo">50.0 %</td> - <td class="coverNumLo">1 / 2</td> + <td class="coverPerHi">100.0 %</td> + <td class="coverNumHi">13 / 13</td> + <td class="coverPerHi">100.0 %</td> + <td class="coverNumHi">1 / 1</td> <td class="coverPerHi">-</td> <td class="coverNumHi">0 / 0</td> </tr> diff --git a/coverage-report/libc/string/index-sort-f.html b/coverage-report/libc/string/index-sort-f.html index 16ea8ec..d0843dc 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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="strtok.c.gcov.html">strtok.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 %</td> - <td class="coverNumLo">0 / 21</td> + <td class="coverNumLo">0 / 9</td> <td class="coverPerLo">0.0 %</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="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 %</td> - <td class="coverNumLo">0 / 9</td> + <td class="coverNumLo">0 / 21</td> <td class="coverPerLo">0.0 %</td> <td class="coverNumLo">0 / 1</td> <td class="coverPerHi">-</td> @@ -142,19 +142,19 @@ <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="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 %</td> - <td class="coverNumHi">13 / 13</td> + <td class="coverNumHi">7 / 7</td> <td class="coverPerHi">100.0 %</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="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> @@ -166,36 +166,36 @@ <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 %</td> - <td class="coverNumHi">9 / 9</td> + <td class="coverNumHi">7 / 7</td> <td class="coverPerHi">100.0 %</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="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 %</td> - <td class="coverNumHi">7 / 7</td> + <td class="coverNumHi">15 / 15</td> <td class="coverPerHi">100.0 %</td> <td class="coverNumHi">1 / 1</td> <td class="coverPerHi">-</td> <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="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 %</td> - <td class="coverNumHi">9 / 9</td> + <td class="coverNumHi">7 / 7</td> <td class="coverPerHi">100.0 %</td> <td class="coverNumHi">1 / 1</td> <td class="coverPerHi">-</td> @@ -214,84 +214,84 @@ <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="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 %</td> - <td class="coverNumHi">8 / 8</td> + <td class="coverNumHi">9 / 9</td> <td class="coverPerHi">100.0 %</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 %</td> - <td class="coverNumHi">7 / 7</td> + <td class="coverNumHi">8 / 8</td> <td class="coverPerHi">100.0 %</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="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 %</td> - <td class="coverNumHi">7 / 7</td> + <td class="coverNumHi">5 / 5</td> <td class="coverPerHi">100.0 %</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 %</td> - <td class="coverNumHi">8 / 8</td> + <td class="coverNumHi">4 / 4</td> <td class="coverPerHi">100.0 %</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="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 %</td> - <td class="coverNumHi">15 / 15</td> + <td class="coverNumHi">8 / 8</td> <td class="coverPerHi">100.0 %</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="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 %</td> - <td class="coverNumHi">5 / 5</td> + <td class="coverNumHi">9 / 9</td> <td class="coverPerHi">100.0 %</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="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 %</td> - <td class="coverNumHi">4 / 4</td> + <td class="coverNumHi">13 / 13</td> <td class="coverPerHi">100.0 %</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 c560e74..de70281 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">14</td> @@ -142,31 +142,31 @@ <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="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 %</td> <td class="coverNumHi">5 / 5</td> - <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">1 / 1</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="strdup.c.gcov.html">strdup.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 %</td> <td class="coverNumHi">5 / 5</td> - <td class="coverPerHi">-</td> - <td class="coverNumHi">0 / 0</td> + <td class="coverPerHi">100.0 %</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="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="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> @@ -190,7 +190,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="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> @@ -202,7 +202,7 @@ <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="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> @@ -214,7 +214,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="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> @@ -238,7 +238,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> @@ -262,7 +262,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="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> diff --git a/coverage-report/libc/string/index.html b/coverage-report/libc/string/index.html index 79d6cde..9670d0d 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 43a4496..3a5988b 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 d1c25ae..cebb100 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 df60972..4651bb4 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 76f5b79..eeb122c 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 fb18fd8..6f238b6 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 8b12822..e87d5e8 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 b696d3f..d3d26df 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 6f3fd08..aa53871 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 d2e392c..ac1c230 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 c7834c7..69a219e 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 af4d46d..3a1536d 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 4f04ad5..223ccc3 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 009e0b2..8798594 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 06f1343..5165537 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 564c2ef..9174232 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 455a5e7..2cca23b 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 1a72560..1532619 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 c90332f..07c44ca 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 8f33167..8f52dc9 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 caf0fbc..4e35f42 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 2795bf9..b1ff90e 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 58d36c8..9b299c6 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 6df81d9..19e7974 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 b27dbc1..9d7f833 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 de72185..a3213ad 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 d7f7ad0..18cc45d 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 fdfec9c..e2b52e9 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 76e3f27..9b97f1d 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 8c22a5a..b0021ac 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 d0bef7b..8407d17 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 9a3e9ce..b7d4afd 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 7997c52..a2354af 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 8933371..f656abb 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 84df790..370c904 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">1</td> diff --git a/coverage-report/libc/string/strlen.c.func.html b/coverage-report/libc/string/strlen.c.func.html index 521be1f..9d65934 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">1</td> diff --git a/coverage-report/libc/string/strlen.c.gcov.html b/coverage-report/libc/string/strlen.c.gcov.html index 9777f58..1f31214 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">1</td> 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 9a2694f..fb3d23c 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 298389e..76e13b0 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 b4d8ab6..87e89a0 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 58ee145..795420a 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 3fa11fb..b650f57 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 e6e6931..d13d1c9 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 8950bef..5ee1f99 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 700fd6b..59cdcfa 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 52f1514..fca55cc 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 4937ade..470b12a 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 d1d2861..260c9af 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 0954be6..2744aeb 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 f9b4a02..984e652 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 c12544c..d56611d 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 7a4d0c5..024d161 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 b0bf93f..19b8635 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 620d514..2dad13a 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 630bcda..8299c11 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 c666488..ff4a986 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">31</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-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 %</td> - <td class="coverNumHi">146 / 149</td> - <td class="coverPerHi">100.0 %</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.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> @@ -106,14 +94,14 @@ <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 %</td> - <td class="coverNumHi">39 / 39</td> + <td class="coverNumHi">12 / 12</td> <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">1 / 1</td> + <td class="coverNumHi">6 / 6</td> <td class="coverPerHi">-</td> <td class="coverNumHi">0 / 0</td> </tr> @@ -130,6 +118,18 @@ <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="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 %</td> + <td class="coverNumHi">41 / 41</td> + <td class="coverPerHi">100.0 %</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-snprintf-test.c.gcov.html">run-snprintf-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=91 height=10 alt="90.9%"><img src="../../snow.png" width=9 height=10 alt="90.9%"></td></tr></table> @@ -142,38 +142,38 @@ <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-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 %</td> - <td class="coverNumHi">12 / 12</td> + <td class="coverNumHi">53 / 53</td> <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">6 / 6</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-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 %</td> - <td class="coverNumHi">41 / 41</td> + <td class="coverNumHi">39 / 39</td> <td class="coverPerHi">100.0 %</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="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 %</td> + <td class="coverNumHi">146 / 149</td> <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">53 / 53</td> - <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">1 / 1</td> + <td class="coverNumHi">10 / 10</td> <td class="coverPerHi">-</td> <td class="coverNumHi">0 / 0</td> </tr> diff --git a/coverage-report/libc/test/index-sort-f.html b/coverage-report/libc/test/index-sort-f.html index 8b8f599..d94e31d 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">31</td> @@ -94,36 +94,36 @@ <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-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 %</td> - <td class="coverNumHi">39 / 39</td> + <td class="coverNumHi">41 / 41</td> <td class="coverPerHi">100.0 %</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 %</td> - <td class="coverNumHi">41 / 41</td> + <td class="coverNumHi">53 / 53</td> <td class="coverPerHi">100.0 %</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="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 %</td> - <td class="coverNumHi">53 / 53</td> + <td class="coverNumHi">39 / 39</td> <td class="coverPerHi">100.0 %</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 9d91526..a7d47a0 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">31</td> diff --git a/coverage-report/libc/test/index.html b/coverage-report/libc/test/index.html index eabf764..0e8d9fa 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 dc3d475..8df3602 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 432d58e..7d7e237 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 4cb61a1..299a34d 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 630d280..e98b360 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 31cd683..5e4e6ba 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 3edd106..c9f3824 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 a0a758f..10453cc 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 2bee9d4..8f4fc85 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 49c66ab..ef41345 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 9da6b53..13c728c 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 e655e00..feb16e8 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 ceaed01..da2f8e2 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 43ddb2c..4fe5635 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 2cb0686..23a032d 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 8e890df..69978da 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 8649605..f56d0b6 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 2fa4a62..7f0216b 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 76d23a7..e109757 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 793f825..f610ee1 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 09a6a6e..96c31f7 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 00b78a5..76ee250 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 7ee5c97..755451c 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 4b9a7f3..7f4d19b 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 abef4c5..409b1c9 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 d07f6aa..2110371 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 7e78cf7..b48a474 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 e90c11a..339a088 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 5792202..489bb95 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">10</td> @@ -90,43 +90,43 @@ </tr> <tr> <td class="coverFn"><a href="fdt.c.gcov.html#87">fdt_check_header</a></td> - <td class="coverFnHi">11</td> + <td class="coverFnHi">9</td> </tr> <tr> <td class="coverFn"><a href="fdt.c.gcov.html#81">fdt_header_size</a></td> - <td class="coverFnHi">11</td> + <td class="coverFnHi">9</td> </tr> <tr> <td class="coverFn"><a href="fdt.c.gcov.html#67">fdt_header_size_</a></td> - <td class="coverFnHi">11</td> + <td class="coverFnHi">9</td> </tr> <tr> <td class="coverFn"><a href="fdt.c.gcov.html#217">fdt_check_node_offset_</a></td> - <td class="coverFnHi">16</td> + <td class="coverFnHi">15</td> </tr> <tr> <td class="coverFn"><a href="fdt.c.gcov.html#55">check_block_</a></td> - <td class="coverFnHi">22</td> + <td class="coverFnHi">18</td> </tr> <tr> <td class="coverFn"><a href="fdt.c.gcov.html#16">fdt_ro_probe_</a></td> - <td class="coverFnHi">45</td> + <td class="coverFnHi">39</td> </tr> <tr> <td class="coverFn"><a href="fdt.c.gcov.html#50">check_off_</a></td> - <td class="coverFnHi">55</td> + <td class="coverFnHi">45</td> </tr> <tr> <td class="coverFn"><a href="fdt.c.gcov.html#309">fdt_find_string_</a></td> - <td class="coverFnHi">2811</td> + <td class="coverFnHi">846</td> </tr> <tr> <td class="coverFn"><a href="fdt.c.gcov.html#163">fdt_next_tag</a></td> - <td class="coverFnHi">3355</td> + <td class="coverFnHi">1069</td> </tr> <tr> <td class="coverFn"><a href="fdt.c.gcov.html#141">fdt_offset_ptr</a></td> - <td class="coverFnHi">14315</td> + <td class="coverFnHi">4860</td> </tr> </table> <br> diff --git a/coverage-report/libfdt/fdt.c.func.html b/coverage-report/libfdt/fdt.c.func.html index ad092d6..f149cf5 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">10</td> @@ -70,19 +70,19 @@ </tr> <tr> <td class="coverFn"><a href="fdt.c.gcov.html#55">check_block_</a></td> - <td class="coverFnHi">22</td> + <td class="coverFnHi">18</td> </tr> <tr> <td class="coverFn"><a href="fdt.c.gcov.html#50">check_off_</a></td> - <td class="coverFnHi">55</td> + <td class="coverFnHi">45</td> </tr> <tr> <td class="coverFn"><a href="fdt.c.gcov.html#87">fdt_check_header</a></td> - <td class="coverFnHi">11</td> + <td class="coverFnHi">9</td> </tr> <tr> <td class="coverFn"><a href="fdt.c.gcov.html#217">fdt_check_node_offset_</a></td> - <td class="coverFnHi">16</td> + <td class="coverFnHi">15</td> </tr> <tr> <td class="coverFn"><a href="fdt.c.gcov.html#229">fdt_check_prop_offset_</a></td> @@ -90,7 +90,7 @@ </tr> <tr> <td class="coverFn"><a href="fdt.c.gcov.html#309">fdt_find_string_</a></td> - <td class="coverFnHi">2811</td> + <td class="coverFnHi">846</td> </tr> <tr> <td class="coverFn"><a href="fdt.c.gcov.html#281">fdt_first_subnode</a></td> @@ -98,11 +98,11 @@ </tr> <tr> <td class="coverFn"><a href="fdt.c.gcov.html#81">fdt_header_size</a></td> - <td class="coverFnHi">11</td> + <td class="coverFnHi">9</td> </tr> <tr> <td class="coverFn"><a href="fdt.c.gcov.html#67">fdt_header_size_</a></td> - <td class="coverFnHi">11</td> + <td class="coverFnHi">9</td> </tr> <tr> <td class="coverFn"><a href="fdt.c.gcov.html#321">fdt_move</a></td> @@ -118,15 +118,15 @@ </tr> <tr> <td class="coverFn"><a href="fdt.c.gcov.html#163">fdt_next_tag</a></td> - <td class="coverFnHi">3355</td> + <td class="coverFnHi">1069</td> </tr> <tr> <td class="coverFn"><a href="fdt.c.gcov.html#141">fdt_offset_ptr</a></td> - <td class="coverFnHi">14315</td> + <td class="coverFnHi">4860</td> </tr> <tr> <td class="coverFn"><a href="fdt.c.gcov.html#16">fdt_ro_probe_</a></td> - <td class="coverFnHi">45</td> + <td class="coverFnHi">39</td> </tr> </table> <br> diff --git a/coverage-report/libfdt/fdt.c.gcov.html b/coverage-report/libfdt/fdt.c.gcov.html index 00ccd1f..ce4eff3 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">10</td> @@ -86,23 +86,23 @@ <a name="15"><span class="lineNum"> 15 </span> : : * that the given buffer contains what appears to be a flattened</a> <a name="16"><span class="lineNum"> 16 </span> : : * device tree with sane information in its header.</a> <a name="17"><span class="lineNum"> 17 </span> : : */</a> -<a name="18"><span class="lineNum"> 18 </span> :<span class="lineCov"> 45 : int32_t fdt_ro_probe_(const void *fdt)</span></a> +<a name="18"><span class="lineNum"> 18 </span> :<span class="lineCov"> 39 : int32_t fdt_ro_probe_(const void *fdt)</span></a> <a name="19"><span class="lineNum"> 19 </span> : : {</a> -<a name="20"><span class="lineNum"> 20 </span> :<span class="lineCov"> 45 : uint32_t totalsize = fdt_totalsize(fdt);</span></a> +<a name="20"><span class="lineNum"> 20 </span> :<span class="lineCov"> 39 : uint32_t totalsize = fdt_totalsize(fdt);</span></a> <a name="21"><span class="lineNum"> 21 </span> : : </a> -<a name="22"><span class="lineNum"> 22 </span> :<span class="lineCov"> 45 : if (can_assume(VALID_DTB))</span></a> +<a name="22"><span class="lineNum"> 22 </span> :<span class="lineCov"> 39 : if (can_assume(VALID_DTB))</span></a> <a name="23"><span class="lineNum"> 23 </span> :<span class="lineNoCov"> 0 : return totalsize;</span></a> <a name="24"><span class="lineNum"> 24 </span> : : </a> <a name="25"><span class="lineNum"> 25 </span> : : /* The device tree must be at an 8-byte aligned address */</a> -<a name="26"><span class="lineNum"> 26 </span> :<span class="lineCov"> 45 : if ((uintptr_t)fdt & 7)</span></a> +<a name="26"><span class="lineNum"> 26 </span> :<span class="lineCov"> 39 : if ((uintptr_t)fdt & 7)</span></a> <a name="27"><span class="lineNum"> 27 </span> :<span class="lineNoCov"> 0 : return -FDT_ERR_ALIGNMENT;</span></a> <a name="28"><span class="lineNum"> 28 </span> : : </a> -<a name="29"><span class="lineNum"> 29 </span> :<span class="lineCov"> 45 : if (fdt_magic(fdt) == FDT_MAGIC) {</span></a> +<a name="29"><span class="lineNum"> 29 </span> :<span class="lineCov"> 39 : if (fdt_magic(fdt) == FDT_MAGIC) {</span></a> <a name="30"><span class="lineNum"> 30 </span> : : /* Complete tree */</a> -<a name="31"><span class="lineNum"> 31 </span> :<span class="lineCov"> 45 : if (!can_assume(LATEST)) {</span></a> -<a name="32"><span class="lineNum"> 32 </span> :<span class="lineCov"> 45 : if (fdt_version(fdt) < FDT_FIRST_SUPPORTED_VERSION)</span></a> +<a name="31"><span class="lineNum"> 31 </span> :<span class="lineCov"> 39 : if (!can_assume(LATEST)) {</span></a> +<a name="32"><span class="lineNum"> 32 </span> :<span class="lineCov"> 39 : if (fdt_version(fdt) < FDT_FIRST_SUPPORTED_VERSION)</span></a> <a name="33"><span class="lineNum"> 33 </span> :<span class="lineNoCov"> 0 : return -FDT_ERR_BADVERSION;</span></a> -<a name="34"><span class="lineNum"> 34 </span> :<span class="lineCov"> 45 : if (fdt_last_comp_version(fdt) ></span></a> +<a name="34"><span class="lineNum"> 34 </span> :<span class="lineCov"> 39 : if (fdt_last_comp_version(fdt) ></span></a> <a name="35"><span class="lineNum"> 35 </span> : : FDT_LAST_SUPPORTED_VERSION)</a> <a name="36"><span class="lineNum"> 36 </span> :<span class="lineNoCov"> 0 : return -FDT_ERR_BADVERSION;</span></a> <a name="37"><span class="lineNum"> 37 </span> : : }</a> @@ -114,189 +114,189 @@ <a name="43"><span class="lineNum"> 43 </span> :<span class="lineNoCov"> 0 : return -FDT_ERR_BADMAGIC;</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> :<span class="lineCov"> 45 : if (totalsize < INT32_MAX)</span></a> -<a name="47"><span class="lineNum"> 47 </span> :<span class="lineCov"> 45 : return totalsize;</span></a> +<a name="46"><span class="lineNum"> 46 </span> :<span class="lineCov"> 39 : if (totalsize < INT32_MAX)</span></a> +<a name="47"><span class="lineNum"> 47 </span> :<span class="lineCov"> 39 : return totalsize;</span></a> <a name="48"><span class="lineNum"> 48 </span> : : else</a> <a name="49"><span class="lineNum"> 49 </span> :<span class="lineNoCov"> 0 : return -FDT_ERR_TRUNCATED;</span></a> <a name="50"><span class="lineNum"> 50 </span> : : }</a> <a name="51"><span class="lineNum"> 51 </span> : : </a> -<a name="52"><span class="lineNum"> 52 </span> :<span class="lineCov"> 55 : static int check_off_(uint32_t hdrsize, uint32_t totalsize, uint32_t off)</span></a> +<a name="52"><span class="lineNum"> 52 </span> :<span class="lineCov"> 45 : static int check_off_(uint32_t hdrsize, uint32_t totalsize, uint32_t off)</span></a> <a name="53"><span class="lineNum"> 53 </span> : : {</a> -<a name="54"><span class="lineNum"> 54 </span> :<span class="lineCov"> 55 : return (off >= hdrsize) && (off <= totalsize);</span></a> +<a name="54"><span class="lineNum"> 54 </span> :<span class="lineCov"> 45 : return (off >= hdrsize) && (off <= totalsize);</span></a> <a name="55"><span class="lineNum"> 55 </span> : : }</a> <a name="56"><span class="lineNum"> 56 </span> : : </a> -<a name="57"><span class="lineNum"> 57 </span> :<span class="lineCov"> 22 : static int check_block_(uint32_t hdrsize, uint32_t totalsize,</span></a> +<a name="57"><span class="lineNum"> 57 </span> :<span class="lineCov"> 18 : static int check_block_(uint32_t hdrsize, uint32_t totalsize,</span></a> <a name="58"><span class="lineNum"> 58 </span> : : uint32_t base, uint32_t size)</a> <a name="59"><span class="lineNum"> 59 </span> : : {</a> -<a name="60"><span class="lineNum"> 60 </span> :<span class="lineCov"> 22 : if (!check_off_(hdrsize, totalsize, base))</span></a> +<a name="60"><span class="lineNum"> 60 </span> :<span class="lineCov"> 18 : if (!check_off_(hdrsize, totalsize, base))</span></a> <a name="61"><span class="lineNum"> 61 </span> :<span class="lineNoCov"> 0 : return 0; /* block start out of bounds */</span></a> -<a name="62"><span class="lineNum"> 62 </span> :<span class="lineCov"> 22 : if ((base + size) < base)</span></a> +<a name="62"><span class="lineNum"> 62 </span> :<span class="lineCov"> 18 : if ((base + size) < base)</span></a> <a name="63"><span class="lineNum"> 63 </span> :<span class="lineNoCov"> 0 : return 0; /* overflow */</span></a> -<a name="64"><span class="lineNum"> 64 </span> :<span class="lineCov"> 22 : if (!check_off_(hdrsize, totalsize, base + size))</span></a> +<a name="64"><span class="lineNum"> 64 </span> :<span class="lineCov"> 18 : if (!check_off_(hdrsize, totalsize, base + size))</span></a> <a name="65"><span class="lineNum"> 65 </span> :<span class="lineNoCov"> 0 : return 0; /* block end out of bounds */</span></a> -<a name="66"><span class="lineNum"> 66 </span> :<span class="lineCov"> 22 : return 1;</span></a> +<a name="66"><span class="lineNum"> 66 </span> :<span class="lineCov"> 18 : return 1;</span></a> <a name="67"><span class="lineNum"> 67 </span> : : }</a> <a name="68"><span class="lineNum"> 68 </span> : : </a> -<a name="69"><span class="lineNum"> 69 </span> :<span class="lineCov"> 11 : size_t fdt_header_size_(uint32_t version)</span></a> +<a name="69"><span class="lineNum"> 69 </span> :<span class="lineCov"> 9 : size_t fdt_header_size_(uint32_t version)</span></a> <a name="70"><span class="lineNum"> 70 </span> : : {</a> -<a name="71"><span class="lineNum"> 71 </span> :<span class="lineCov"> 11 : if (version <= 1)</span></a> +<a name="71"><span class="lineNum"> 71 </span> :<span class="lineCov"> 9 : if (version <= 1)</span></a> <a name="72"><span class="lineNum"> 72 </span> :<span class="lineNoCov"> 0 : return FDT_V1_SIZE;</span></a> -<a name="73"><span class="lineNum"> 73 </span> :<span class="lineCov"> 11 : else if (version <= 2)</span></a> +<a name="73"><span class="lineNum"> 73 </span> :<span class="lineCov"> 9 : else if (version <= 2)</span></a> <a name="74"><span class="lineNum"> 74 </span> :<span class="lineNoCov"> 0 : return FDT_V2_SIZE;</span></a> -<a name="75"><span class="lineNum"> 75 </span> :<span class="lineCov"> 11 : else if (version <= 3)</span></a> +<a name="75"><span class="lineNum"> 75 </span> :<span class="lineCov"> 9 : else if (version <= 3)</span></a> <a name="76"><span class="lineNum"> 76 </span> :<span class="lineNoCov"> 0 : return FDT_V3_SIZE;</span></a> -<a name="77"><span class="lineNum"> 77 </span> :<span class="lineCov"> 11 : else if (version <= 16)</span></a> +<a name="77"><span class="lineNum"> 77 </span> :<span class="lineCov"> 9 : else if (version <= 16)</span></a> <a name="78"><span class="lineNum"> 78 </span> :<span class="lineNoCov"> 0 : return FDT_V16_SIZE;</span></a> <a name="79"><span class="lineNum"> 79 </span> : : else</a> -<a name="80"><span class="lineNum"> 80 </span> :<span class="lineCov"> 11 : return FDT_V17_SIZE;</span></a> +<a name="80"><span class="lineNum"> 80 </span> :<span class="lineCov"> 9 : return FDT_V17_SIZE;</span></a> <a name="81"><span class="lineNum"> 81 </span> : : }</a> <a name="82"><span class="lineNum"> 82 </span> : : </a> -<a name="83"><span class="lineNum"> 83 </span> :<span class="lineCov"> 11 : size_t fdt_header_size(const void *fdt)</span></a> +<a name="83"><span class="lineNum"> 83 </span> :<span class="lineCov"> 9 : size_t fdt_header_size(const void *fdt)</span></a> <a name="84"><span class="lineNum"> 84 </span> : : {</a> -<a name="85"><span class="lineNum"> 85 </span> :<span class="lineCov"> 22 : return can_assume(LATEST) ? FDT_V17_SIZE :</span></a> -<a name="86"><span class="lineNum"> 86 </span> :<span class="lineCov"> 11 : fdt_header_size_(fdt_version(fdt));</span></a> +<a name="85"><span class="lineNum"> 85 </span> :<span class="lineCov"> 18 : return can_assume(LATEST) ? FDT_V17_SIZE :</span></a> +<a name="86"><span class="lineNum"> 86 </span> :<span class="lineCov"> 9 : fdt_header_size_(fdt_version(fdt));</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> :<span class="lineCov"> 11 : int fdt_check_header(const void *fdt)</span></a> +<a name="89"><span class="lineNum"> 89 </span> :<span class="lineCov"> 9 : int fdt_check_header(const void *fdt)</span></a> <a name="90"><span class="lineNum"> 90 </span> : : {</a> <a name="91"><span class="lineNum"> 91 </span> : : size_t hdrsize;</a> <a name="92"><span class="lineNum"> 92 </span> : : </a> <a name="93"><span class="lineNum"> 93 </span> : : /* The device tree must be at an 8-byte aligned address */</a> -<a name="94"><span class="lineNum"> 94 </span> :<span class="lineCov"> 11 : if ((uintptr_t)fdt & 7)</span></a> +<a name="94"><span class="lineNum"> 94 </span> :<span class="lineCov"> 9 : if ((uintptr_t)fdt & 7)</span></a> <a name="95"><span class="lineNum"> 95 </span> :<span class="lineNoCov"> 0 : return -FDT_ERR_ALIGNMENT;</span></a> <a name="96"><span class="lineNum"> 96 </span> : : </a> -<a name="97"><span class="lineNum"> 97 </span> :<span class="lineCov"> 11 : if (fdt_magic(fdt) != FDT_MAGIC)</span></a> +<a name="97"><span class="lineNum"> 97 </span> :<span class="lineCov"> 9 : if (fdt_magic(fdt) != FDT_MAGIC)</span></a> <a name="98"><span class="lineNum"> 98 </span> :<span class="lineNoCov"> 0 : return -FDT_ERR_BADMAGIC;</span></a> -<a name="99"><span class="lineNum"> 99 </span> :<span class="lineCov"> 11 : if (!can_assume(LATEST)) {</span></a> -<a name="100"><span class="lineNum"> 100 </span> :<span class="lineCov"> 11 : if ((fdt_version(fdt) < FDT_FIRST_SUPPORTED_VERSION)</span></a> -<a name="101"><span class="lineNum"> 101 </span> :<span class="lineCov"> 11 : || (fdt_last_comp_version(fdt) ></span></a> +<a name="99"><span class="lineNum"> 99 </span> :<span class="lineCov"> 9 : if (!can_assume(LATEST)) {</span></a> +<a name="100"><span class="lineNum"> 100 </span> :<span class="lineCov"> 9 : if ((fdt_version(fdt) < FDT_FIRST_SUPPORTED_VERSION)</span></a> +<a name="101"><span class="lineNum"> 101 </span> :<span class="lineCov"> 9 : || (fdt_last_comp_version(fdt) ></span></a> <a name="102"><span class="lineNum"> 102 </span> : : FDT_LAST_SUPPORTED_VERSION))</a> <a name="103"><span class="lineNum"> 103 </span> :<span class="lineNoCov"> 0 : return -FDT_ERR_BADVERSION;</span></a> -<a name="104"><span class="lineNum"> 104 </span> :<span class="lineCov"> 11 : if (fdt_version(fdt) < fdt_last_comp_version(fdt))</span></a> +<a name="104"><span class="lineNum"> 104 </span> :<span class="lineCov"> 9 : if (fdt_version(fdt) < fdt_last_comp_version(fdt))</span></a> <a name="105"><span class="lineNum"> 105 </span> :<span class="lineNoCov"> 0 : return -FDT_ERR_BADVERSION;</span></a> <a name="106"><span class="lineNum"> 106 </span> : : }</a> -<a name="107"><span class="lineNum"> 107 </span> :<span class="lineCov"> 11 : hdrsize = fdt_header_size(fdt);</span></a> -<a name="108"><span class="lineNum"> 108 </span> :<span class="lineCov"> 11 : if (!can_assume(VALID_DTB)) {</span></a> +<a name="107"><span class="lineNum"> 107 </span> :<span class="lineCov"> 9 : hdrsize = fdt_header_size(fdt);</span></a> +<a name="108"><span class="lineNum"> 108 </span> :<span class="lineCov"> 9 : if (!can_assume(VALID_DTB)) {</span></a> <a name="109"><span class="lineNum"> 109 </span> : : </a> -<a name="110"><span class="lineNum"> 110 </span> :<span class="lineCov"> 11 : if ((fdt_totalsize(fdt) < hdrsize)</span></a> -<a name="111"><span class="lineNum"> 111 </span> :<span class="lineCov"> 11 : || (fdt_totalsize(fdt) > INT_MAX))</span></a> +<a name="110"><span class="lineNum"> 110 </span> :<span class="lineCov"> 9 : if ((fdt_totalsize(fdt) < hdrsize)</span></a> +<a name="111"><span class="lineNum"> 111 </span> :<span class="lineCov"> 9 : || (fdt_totalsize(fdt) > INT_MAX))</span></a> <a name="112"><span class="lineNum"> 112 </span> :<span class="lineNoCov"> 0 : return -FDT_ERR_TRUNCATED;</span></a> <a name="113"><span class="lineNum"> 113 </span> : : </a> <a name="114"><span class="lineNum"> 114 </span> : : /* Bounds check memrsv block */</a> -<a name="115"><span class="lineNum"> 115 </span> :<span class="lineCov"> 11 : if (!check_off_(hdrsize, fdt_totalsize(fdt),</span></a> +<a name="115"><span class="lineNum"> 115 </span> :<span class="lineCov"> 9 : if (!check_off_(hdrsize, fdt_totalsize(fdt),</span></a> <a name="116"><span class="lineNum"> 116 </span> : : fdt_off_mem_rsvmap(fdt)))</a> <a name="117"><span class="lineNum"> 117 </span> :<span class="lineNoCov"> 0 : return -FDT_ERR_TRUNCATED;</span></a> <a name="118"><span class="lineNum"> 118 </span> : : }</a> <a name="119"><span class="lineNum"> 119 </span> : : </a> -<a name="120"><span class="lineNum"> 120 </span> :<span class="lineCov"> 11 : if (!can_assume(VALID_DTB)) {</span></a> +<a name="120"><span class="lineNum"> 120 </span> :<span class="lineCov"> 9 : if (!can_assume(VALID_DTB)) {</span></a> <a name="121"><span class="lineNum"> 121 </span> : : /* Bounds check structure block */</a> -<a name="122"><span class="lineNum"> 122 </span> :<span class="lineCov"> 11 : if (!can_assume(LATEST) && fdt_version(fdt) < 17) {</span></a> +<a name="122"><span class="lineNum"> 122 </span> :<span class="lineCov"> 9 : if (!can_assume(LATEST) && fdt_version(fdt) < 17) {</span></a> <a name="123"><span class="lineNum"> 123 </span> :<span class="lineNoCov"> 0 : if (!check_off_(hdrsize, fdt_totalsize(fdt),</span></a> <a name="124"><span class="lineNum"> 124 </span> : : fdt_off_dt_struct(fdt)))</a> <a name="125"><span class="lineNum"> 125 </span> :<span class="lineNoCov"> 0 : return -FDT_ERR_TRUNCATED;</span></a> <a name="126"><span class="lineNum"> 126 </span> : : } else {</a> -<a name="127"><span class="lineNum"> 127 </span> :<span class="lineCov"> 11 : if (!check_block_(hdrsize, fdt_totalsize(fdt),</span></a> +<a name="127"><span class="lineNum"> 127 </span> :<span class="lineCov"> 9 : if (!check_block_(hdrsize, fdt_totalsize(fdt),</span></a> <a name="128"><span class="lineNum"> 128 </span> : : fdt_off_dt_struct(fdt),</a> <a name="129"><span class="lineNum"> 129 </span> : : fdt_size_dt_struct(fdt)))</a> <a name="130"><span class="lineNum"> 130 </span> :<span class="lineNoCov"> 0 : return -FDT_ERR_TRUNCATED;</span></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> : : /* Bounds check strings block */</a> -<a name="134"><span class="lineNum"> 134 </span> :<span class="lineCov"> 11 : if (!check_block_(hdrsize, fdt_totalsize(fdt),</span></a> +<a name="134"><span class="lineNum"> 134 </span> :<span class="lineCov"> 9 : if (!check_block_(hdrsize, fdt_totalsize(fdt),</span></a> <a name="135"><span class="lineNum"> 135 </span> : : fdt_off_dt_strings(fdt),</a> <a name="136"><span class="lineNum"> 136 </span> : : fdt_size_dt_strings(fdt)))</a> <a name="137"><span class="lineNum"> 137 </span> :<span class="lineNoCov"> 0 : return -FDT_ERR_TRUNCATED;</span></a> <a name="138"><span class="lineNum"> 138 </span> : : }</a> <a name="139"><span class="lineNum"> 139 </span> : : </a> -<a name="140"><span class="lineNum"> 140 </span> :<span class="lineCov"> 11 : return 0;</span></a> +<a name="140"><span class="lineNum"> 140 </span> :<span class="lineCov"> 9 : return 0;</span></a> <a name="141"><span class="lineNum"> 141 </span> : : }</a> <a name="142"><span class="lineNum"> 142 </span> : : </a> -<a name="143"><span class="lineNum"> 143 </span> :<span class="lineCov"> 14315 : const void *fdt_offset_ptr(const void *fdt, int offset, unsigned int len)</span></a> +<a name="143"><span class="lineNum"> 143 </span> :<span class="lineCov"> 4860 : const void *fdt_offset_ptr(const void *fdt, int offset, unsigned int len)</span></a> <a name="144"><span class="lineNum"> 144 </span> : : {</a> -<a name="145"><span class="lineNum"> 145 </span> :<span class="lineCov"> 14315 : unsigned int uoffset = offset;</span></a> -<a name="146"><span class="lineNum"> 146 </span> :<span class="lineCov"> 14315 : unsigned int absoffset = offset + fdt_off_dt_struct(fdt);</span></a> +<a name="145"><span class="lineNum"> 145 </span> :<span class="lineCov"> 4860 : unsigned int uoffset = offset;</span></a> +<a name="146"><span class="lineNum"> 146 </span> :<span class="lineCov"> 4860 : unsigned int absoffset = offset + fdt_off_dt_struct(fdt);</span></a> <a name="147"><span class="lineNum"> 147 </span> : : </a> -<a name="148"><span class="lineNum"> 148 </span> :<span class="lineCov"> 14315 : if (offset < 0)</span></a> +<a name="148"><span class="lineNum"> 148 </span> :<span class="lineCov"> 4860 : if (offset < 0)</span></a> <a name="149"><span class="lineNum"> 149 </span> :<span class="lineNoCov"> 0 : return NULL;</span></a> <a name="150"><span class="lineNum"> 150 </span> : : </a> -<a name="151"><span class="lineNum"> 151 </span> :<span class="lineCov"> 14315 : if (!can_assume(VALID_INPUT))</span></a> -<a name="152"><span class="lineNum"> 152 </span> :<span class="lineCov"> 14315 : if ((absoffset < uoffset)</span></a> -<a name="153"><span class="lineNum"> 153 </span> :<span class="lineCov"> 14315 : || ((absoffset + len) < absoffset)</span></a> -<a name="154"><span class="lineNum"> 154 </span> :<span class="lineCov"> 14315 : || (absoffset + len) > fdt_totalsize(fdt))</span></a> +<a name="151"><span class="lineNum"> 151 </span> :<span class="lineCov"> 4860 : if (!can_assume(VALID_INPUT))</span></a> +<a name="152"><span class="lineNum"> 152 </span> :<span class="lineCov"> 4860 : if ((absoffset < uoffset)</span></a> +<a name="153"><span class="lineNum"> 153 </span> :<span class="lineCov"> 4860 : || ((absoffset + len) < absoffset)</span></a> +<a name="154"><span class="lineNum"> 154 </span> :<span class="lineCov"> 4860 : || (absoffset + len) > fdt_totalsize(fdt))</span></a> <a name="155"><span class="lineNum"> 155 </span> :<span class="lineNoCov"> 0 : return NULL;</span></a> <a name="156"><span class="lineNum"> 156 </span> : : </a> -<a name="157"><span class="lineNum"> 157 </span> :<span class="lineCov"> 14315 : if (can_assume(LATEST) || fdt_version(fdt) >= 0x11)</span></a> -<a name="158"><span class="lineNum"> 158 </span> :<span class="lineCov"> 14315 : if (((uoffset + len) < uoffset)</span></a> -<a name="159"><span class="lineNum"> 159 </span> :<span class="lineCov"> 14315 : || ((offset + len) > fdt_size_dt_struct(fdt)))</span></a> +<a name="157"><span class="lineNum"> 157 </span> :<span class="lineCov"> 4860 : if (can_assume(LATEST) || fdt_version(fdt) >= 0x11)</span></a> +<a name="158"><span class="lineNum"> 158 </span> :<span class="lineCov"> 4860 : if (((uoffset + len) < uoffset)</span></a> +<a name="159"><span class="lineNum"> 159 </span> :<span class="lineCov"> 4860 : || ((offset + len) > fdt_size_dt_struct(fdt)))</span></a> <a name="160"><span class="lineNum"> 160 </span> :<span class="lineNoCov"> 0 : return NULL;</span></a> <a name="161"><span class="lineNum"> 161 </span> : : </a> -<a name="162"><span class="lineNum"> 162 </span> :<span class="lineCov"> 14315 : return fdt_offset_ptr_(fdt, offset);</span></a> +<a name="162"><span class="lineNum"> 162 </span> :<span class="lineCov"> 4860 : return fdt_offset_ptr_(fdt, offset);</span></a> <a name="163"><span class="lineNum"> 163 </span> : : }</a> <a name="164"><span class="lineNum"> 164 </span> : : </a> -<a name="165"><span class="lineNum"> 165 </span> :<span class="lineCov"> 3355 : uint32_t fdt_next_tag(const void *fdt, int startoffset, int *nextoffset)</span></a> +<a name="165"><span class="lineNum"> 165 </span> :<span class="lineCov"> 1069 : uint32_t fdt_next_tag(const void *fdt, int startoffset, int *nextoffset)</span></a> <a name="166"><span class="lineNum"> 166 </span> : : {</a> <a name="167"><span class="lineNum"> 167 </span> : : const fdt32_t *tagp, *lenp;</a> <a name="168"><span class="lineNum"> 168 </span> : : uint32_t tag;</a> -<a name="169"><span class="lineNum"> 169 </span> :<span class="lineCov"> 3355 : int offset = startoffset;</span></a> +<a name="169"><span class="lineNum"> 169 </span> :<span class="lineCov"> 1069 : int offset = startoffset;</span></a> <a name="170"><span class="lineNum"> 170 </span> : : const char *p;</a> <a name="171"><span class="lineNum"> 171 </span> : : </a> -<a name="172"><span class="lineNum"> 172 </span> :<span class="lineCov"> 3355 : *nextoffset = -FDT_ERR_TRUNCATED;</span></a> -<a name="173"><span class="lineNum"> 173 </span> :<span class="lineCov"> 3355 : tagp = fdt_offset_ptr(fdt, offset, FDT_TAGSIZE);</span></a> -<a name="174"><span class="lineNum"> 174 </span> :<span class="lineCov"> 3355 : if (!can_assume(VALID_DTB) && !tagp)</span></a> +<a name="172"><span class="lineNum"> 172 </span> :<span class="lineCov"> 1069 : *nextoffset = -FDT_ERR_TRUNCATED;</span></a> +<a name="173"><span class="lineNum"> 173 </span> :<span class="lineCov"> 1069 : tagp = fdt_offset_ptr(fdt, offset, FDT_TAGSIZE);</span></a> +<a name="174"><span class="lineNum"> 174 </span> :<span class="lineCov"> 1069 : if (!can_assume(VALID_DTB) && !tagp)</span></a> <a name="175"><span class="lineNum"> 175 </span> :<span class="lineNoCov"> 0 : return FDT_END; /* premature end */</span></a> -<a name="176"><span class="lineNum"> 176 </span> :<span class="lineCov"> 3355 : tag = fdt32_to_cpu(*tagp);</span></a> -<a name="177"><span class="lineNum"> 177 </span> :<span class="lineCov"> 3355 : offset += FDT_TAGSIZE;</span></a> +<a name="176"><span class="lineNum"> 176 </span> :<span class="lineCov"> 1069 : tag = fdt32_to_cpu(*tagp);</span></a> +<a name="177"><span class="lineNum"> 177 </span> :<span class="lineCov"> 1069 : offset += FDT_TAGSIZE;</span></a> <a name="178"><span class="lineNum"> 178 </span> : : </a> -<a name="179"><span class="lineNum"> 179 </span> :<span class="lineCov"> 3355 : *nextoffset = -FDT_ERR_BADSTRUCTURE;</span></a> -<a name="180"><span class="lineNum"> 180 </span> :<span class="lineCov"> 3355 : switch (tag) {</span></a> -<a name="181"><span class="lineNum"> 181 </span> :<span class="lineCov"> 4756 : case FDT_BEGIN_NODE:</span></a> +<a name="179"><span class="lineNum"> 179 </span> :<span class="lineCov"> 1069 : *nextoffset = -FDT_ERR_BADSTRUCTURE;</span></a> +<a name="180"><span class="lineNum"> 180 </span> :<span class="lineCov"> 1069 : switch (tag) {</span></a> +<a name="181"><span class="lineNum"> 181 </span> :<span class="lineCov"> 1844 : case FDT_BEGIN_NODE:</span></a> <a name="182"><span class="lineNum"> 182 </span> : : /* skip name */</a> <a name="183"><span class="lineNum"> 183 </span> : : do {</a> -<a name="184"><span class="lineNum"> 184 </span> :<span class="lineCov"> 4756 : p = fdt_offset_ptr(fdt, offset++, 1);</span></a> -<a name="185"><span class="lineNum"> 185 </span> :<span class="lineCov"> 4756 : } while (p && (*p != '\0'));</span></a> -<a name="186"><span class="lineNum"> 186 </span> :<span class="lineCov"> 259 : if (!can_assume(VALID_DTB) && !p)</span></a> +<a name="184"><span class="lineNum"> 184 </span> :<span class="lineCov"> 1844 : p = fdt_offset_ptr(fdt, offset++, 1);</span></a> +<a name="185"><span class="lineNum"> 185 </span> :<span class="lineCov"> 1844 : } while (p && (*p != '\0'));</span></a> +<a name="186"><span class="lineNum"> 186 </span> :<span class="lineCov"> 102 : if (!can_assume(VALID_DTB) && !p)</span></a> <a name="187"><span class="lineNum"> 187 </span> :<span class="lineNoCov"> 0 : return FDT_END; /* premature end */</span></a> -<a name="188"><span class="lineNum"> 188 </span> :<span class="lineCov"> 259 : break;</span></a> +<a name="188"><span class="lineNum"> 188 </span> :<span class="lineCov"> 102 : break;</span></a> <a name="189"><span class="lineNum"> 189 </span> : : </a> -<a name="190"><span class="lineNum"> 190 </span> :<span class="lineCov"> 2849 : case FDT_PROP:</span></a> -<a name="191"><span class="lineNum"> 191 </span> :<span class="lineCov"> 2849 : lenp = fdt_offset_ptr(fdt, offset, sizeof(*lenp));</span></a> -<a name="192"><span class="lineNum"> 192 </span> :<span class="lineCov"> 2849 : if (!can_assume(VALID_DTB) && !lenp)</span></a> +<a name="190"><span class="lineNum"> 190 </span> :<span class="lineCov"> 878 : case FDT_PROP:</span></a> +<a name="191"><span class="lineNum"> 191 </span> :<span class="lineCov"> 878 : lenp = fdt_offset_ptr(fdt, offset, sizeof(*lenp));</span></a> +<a name="192"><span class="lineNum"> 192 </span> :<span class="lineCov"> 878 : if (!can_assume(VALID_DTB) && !lenp)</span></a> <a name="193"><span class="lineNum"> 193 </span> :<span class="lineNoCov"> 0 : return FDT_END; /* premature end */</span></a> <a name="194"><span class="lineNum"> 194 </span> : : /* skip-name offset, length and value */</a> -<a name="195"><span class="lineNum"> 195 </span> :<span class="lineCov"> 2849 : offset += sizeof(struct fdt_property) - FDT_TAGSIZE</span></a> -<a name="196"><span class="lineNum"> 196 </span> :<span class="lineCov"> 2849 : + fdt32_to_cpu(*lenp);</span></a> -<a name="197"><span class="lineNum"> 197 </span> :<span class="lineCov"> 5698 : if (!can_assume(LATEST) &&</span></a> -<a name="198"><span class="lineNum"> 198 </span> :<span class="lineCov"> 2849 : fdt_version(fdt) < 0x10 && fdt32_to_cpu(*lenp) >= 8 &&</span></a> +<a name="195"><span class="lineNum"> 195 </span> :<span class="lineCov"> 878 : offset += sizeof(struct fdt_property) - FDT_TAGSIZE</span></a> +<a name="196"><span class="lineNum"> 196 </span> :<span class="lineCov"> 878 : + fdt32_to_cpu(*lenp);</span></a> +<a name="197"><span class="lineNum"> 197 </span> :<span class="lineCov"> 1756 : if (!can_assume(LATEST) &&</span></a> +<a name="198"><span class="lineNum"> 198 </span> :<span class="lineCov"> 878 : fdt_version(fdt) < 0x10 && fdt32_to_cpu(*lenp) >= 8 &&</span></a> <a name="199"><span class="lineNum"> 199 </span> :<span class="lineNoCov"> 0 : ((offset - fdt32_to_cpu(*lenp)) % 8) != 0)</span></a> <a name="200"><span class="lineNum"> 200 </span> :<span class="lineNoCov"> 0 : offset += 4;</span></a> -<a name="201"><span class="lineNum"> 201 </span> :<span class="lineCov"> 2849 : break;</span></a> +<a name="201"><span class="lineNum"> 201 </span> :<span class="lineCov"> 878 : break;</span></a> <a name="202"><span class="lineNum"> 202 </span> : : </a> -<a name="203"><span class="lineNum"> 203 </span> :<span class="lineCov"> 247 : case FDT_END:</span></a> +<a name="203"><span class="lineNum"> 203 </span> :<span class="lineCov"> 89 : case FDT_END:</span></a> <a name="204"><span class="lineNum"> 204 </span> : : case FDT_END_NODE:</a> <a name="205"><span class="lineNum"> 205 </span> : : case FDT_NOP:</a> -<a name="206"><span class="lineNum"> 206 </span> :<span class="lineCov"> 247 : break;</span></a> +<a name="206"><span class="lineNum"> 206 </span> :<span class="lineCov"> 89 : break;</span></a> <a name="207"><span class="lineNum"> 207 </span> : : </a> <a name="208"><span class="lineNum"> 208 </span> :<span class="lineNoCov"> 0 : default:</span></a> <a name="209"><span class="lineNum"> 209 </span> :<span class="lineNoCov"> 0 : return FDT_END;</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> :<span class="lineCov"> 3355 : if (!fdt_offset_ptr(fdt, startoffset, offset - startoffset))</span></a> +<a name="212"><span class="lineNum"> 212 </span> :<span class="lineCov"> 1069 : if (!fdt_offset_ptr(fdt, startoffset, offset - startoffset))</span></a> <a name="213"><span class="lineNum"> 213 </span> :<span class="lineNoCov"> 0 : return FDT_END; /* premature end */</span></a> <a name="214"><span class="lineNum"> 214 </span> : : </a> -<a name="215"><span class="lineNum"> 215 </span> :<span class="lineCov"> 3355 : *nextoffset = FDT_TAGALIGN(offset);</span></a> -<a name="216"><span class="lineNum"> 216 </span> :<span class="lineCov"> 3355 : return tag;</span></a> +<a name="215"><span class="lineNum"> 215 </span> :<span class="lineCov"> 1069 : *nextoffset = FDT_TAGALIGN(offset);</span></a> +<a name="216"><span class="lineNum"> 216 </span> :<span class="lineCov"> 1069 : return tag;</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"> 16 : int fdt_check_node_offset_(const void *fdt, int offset)</span></a> +<a name="219"><span class="lineNum"> 219 </span> :<span class="lineCov"> 15 : int fdt_check_node_offset_(const void *fdt, int offset)</span></a> <a name="220"><span class="lineNum"> 220 </span> : : {</a> -<a name="221"><span class="lineNum"> 221 </span> :<span class="lineCov"> 16 : if (!can_assume(VALID_INPUT)</span></a> -<a name="222"><span class="lineNum"> 222 </span> :<span class="lineCov"> 16 : && ((offset < 0) || (offset % FDT_TAGSIZE)))</span></a> +<a name="221"><span class="lineNum"> 221 </span> :<span class="lineCov"> 15 : if (!can_assume(VALID_INPUT)</span></a> +<a name="222"><span class="lineNum"> 222 </span> :<span class="lineCov"> 15 : && ((offset < 0) || (offset % FDT_TAGSIZE)))</span></a> <a name="223"><span class="lineNum"> 223 </span> :<span class="lineNoCov"> 0 : return -FDT_ERR_BADOFFSET;</span></a> <a name="224"><span class="lineNum"> 224 </span> : : </a> -<a name="225"><span class="lineNum"> 225 </span> :<span class="lineCov"> 16 : if (fdt_next_tag(fdt, offset, &offset) != FDT_BEGIN_NODE)</span></a> +<a name="225"><span class="lineNum"> 225 </span> :<span class="lineCov"> 15 : if (fdt_next_tag(fdt, offset, &offset) != FDT_BEGIN_NODE)</span></a> <a name="226"><span class="lineNum"> 226 </span> :<span class="lineNoCov"> 0 : return -FDT_ERR_BADOFFSET;</span></a> <a name="227"><span class="lineNum"> 227 </span> : : </a> -<a name="228"><span class="lineNum"> 228 </span> :<span class="lineCov"> 16 : return offset;</span></a> +<a name="228"><span class="lineNum"> 228 </span> :<span class="lineCov"> 15 : return offset;</span></a> <a name="229"><span class="lineNum"> 229 </span> : : }</a> <a name="230"><span class="lineNum"> 230 </span> : : </a> <a name="231"><span class="lineNum"> 231 </span> :<span class="lineNoCov"> 0 : int fdt_check_prop_offset_(const void *fdt, int offset)</span></a> @@ -379,16 +379,16 @@ <a name="308"><span class="lineNum"> 308 </span> :<span class="lineNoCov"> 0 : return offset;</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> :<span class="lineCov"> 2811 : const char *fdt_find_string_(const char *strtab, int tabsize, const char *s)</span></a> +<a name="311"><span class="lineNum"> 311 </span> :<span class="lineCov"> 846 : const char *fdt_find_string_(const char *strtab, int tabsize, const char *s)</span></a> <a name="312"><span class="lineNum"> 312 </span> : : {</a> -<a name="313"><span class="lineNum"> 313 </span> :<span class="lineCov"> 2811 : int len = strlen(s) + 1;</span></a> -<a name="314"><span class="lineNum"> 314 </span> :<span class="lineCov"> 2811 : const char *last = strtab + tabsize - len;</span></a> +<a name="313"><span class="lineNum"> 313 </span> :<span class="lineCov"> 846 : int len = strlen(s) + 1;</span></a> +<a name="314"><span class="lineNum"> 314 </span> :<span class="lineCov"> 846 : 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"> 1245328 : for (p = strtab; p <= 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> +<a name="317"><span class="lineNum"> 317 </span> :<span class="lineCov"> 420392 : for (p = strtab; p <= last; p++)</span></a> +<a name="318"><span class="lineNum"> 318 </span> :<span class="lineCov"> 420293 : if (memcmp(p, s, len) == 0)</span></a> +<a name="319"><span class="lineNum"> 319 </span> :<span class="lineCov"> 747 : return p;</span></a> +<a name="320"><span class="lineNum"> 320 </span> :<span class="lineCov"> 99 : return NULL;</span></a> <a name="321"><span class="lineNum"> 321 </span> : : }</a> <a name="322"><span class="lineNum"> 322 </span> : : </a> <a name="323"><span class="lineNum"> 323 </span> :<span class="lineNoCov"> 0 : int fdt_move(const void *fdt, void *buf, int bufsize)</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 25653c0..10e3364 100644 --- a/coverage-report/libfdt/fdt_ro.c.func-sort-c.html +++ b/coverage-report/libfdt/fdt_ro.c.func-sort-c.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">3</td> @@ -222,11 +222,11 @@ </tr> <tr> <td class="coverFn"><a href="fdt_ro.c.gcov.html#32">fdt_get_string</a></td> - <td class="coverFnHi">38</td> + <td class="coverFnHi">32</td> </tr> <tr> <td class="coverFn"><a href="fdt_ro.c.gcov.html#98">fdt_string</a></td> - <td class="coverFnHi">38</td> + <td class="coverFnHi">32</td> </tr> </table> <br> diff --git a/coverage-report/libfdt/fdt_ro.c.func.html b/coverage-report/libfdt/fdt_ro.c.func.html index 2805b7a..76646e8 100644 --- a/coverage-report/libfdt/fdt_ro.c.func.html +++ b/coverage-report/libfdt/fdt_ro.c.func.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">3</td> @@ -126,7 +126,7 @@ </tr> <tr> <td class="coverFn"><a href="fdt_ro.c.gcov.html#32">fdt_get_string</a></td> - <td class="coverFnHi">38</td> + <td class="coverFnHi">32</td> </tr> <tr> <td class="coverFn"><a href="fdt_ro.c.gcov.html#500">fdt_getprop</a></td> @@ -190,7 +190,7 @@ </tr> <tr> <td class="coverFn"><a href="fdt_ro.c.gcov.html#98">fdt_string</a></td> - <td class="coverFnHi">38</td> + <td class="coverFnHi">32</td> </tr> <tr> <td class="coverFn"><a href="fdt_ro.c.gcov.html#103">fdt_string_eq_</a></td> diff --git a/coverage-report/libfdt/fdt_ro.c.gcov.html b/coverage-report/libfdt/fdt_ro.c.gcov.html index cc8bddb..4af8f22 100644 --- a/coverage-report/libfdt/fdt_ro.c.gcov.html +++ b/coverage-report/libfdt/fdt_ro.c.gcov.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">3</td> @@ -102,7 +102,7 @@ <a name="31"><span class="lineNum"> 31 </span> :<span class="lineNoCov"> 0 : return 0;</span></a> <a name="32"><span class="lineNum"> 32 </span> : : }</a> <a name="33"><span class="lineNum"> 33 </span> : : </a> -<a name="34"><span class="lineNum"> 34 </span> :<span class="lineCov"> 38 : const char *fdt_get_string(const void *fdt, int stroffset, int *lenp)</span></a> +<a name="34"><span class="lineNum"> 34 </span> :<span class="lineCov"> 32 : const char *fdt_get_string(const void *fdt, int stroffset, int *lenp)</span></a> <a name="35"><span class="lineNum"> 35 </span> : : {</a> <a name="36"><span class="lineNum"> 36 </span> : : int32_t totalsize;</a> <a name="37"><span class="lineNum"> 37 </span> : : uint32_t absoffset;</a> @@ -110,31 +110,31 @@ <a name="39"><span class="lineNum"> 39 </span> : : int err;</a> <a name="40"><span class="lineNum"> 40 </span> : : const char *s, *n;</a> <a name="41"><span class="lineNum"> 41 </span> : : </a> -<a name="42"><span class="lineNum"> 42 </span> :<span class="lineCov"> 38 : if (can_assume(VALID_INPUT)) {</span></a> +<a name="42"><span class="lineNum"> 42 </span> :<span class="lineCov"> 32 : if (can_assume(VALID_INPUT)) {</span></a> <a name="43"><span class="lineNum"> 43 </span> :<span class="lineNoCov"> 0 : s = (const char *)fdt + fdt_off_dt_strings(fdt) + stroffset;</span></a> <a name="44"><span class="lineNum"> 44 </span> : : </a> <a name="45"><span class="lineNum"> 45 </span> :<span class="lineNoCov"> 0 : if (lenp)</span></a> <a name="46"><span class="lineNum"> 46 </span> :<span class="lineNoCov"> 0 : *lenp = strlen(s);</span></a> <a name="47"><span class="lineNum"> 47 </span> :<span class="lineNoCov"> 0 : return s;</span></a> <a name="48"><span class="lineNum"> 48 </span> : : }</a> -<a name="49"><span class="lineNum"> 49 </span> :<span class="lineCov"> 38 : totalsize = fdt_ro_probe_(fdt);</span></a> -<a name="50"><span class="lineNum"> 50 </span> :<span class="lineCov"> 38 : err = totalsize;</span></a> -<a name="51"><span class="lineNum"> 51 </span> :<span class="lineCov"> 38 : if (totalsize < 0)</span></a> +<a name="49"><span class="lineNum"> 49 </span> :<span class="lineCov"> 32 : totalsize = fdt_ro_probe_(fdt);</span></a> +<a name="50"><span class="lineNum"> 50 </span> :<span class="lineCov"> 32 : err = totalsize;</span></a> +<a name="51"><span class="lineNum"> 51 </span> :<span class="lineCov"> 32 : if (totalsize < 0)</span></a> <a name="52"><span class="lineNum"> 52 </span> :<span class="lineNoCov"> 0 : goto fail;</span></a> <a name="53"><span class="lineNum"> 53 </span> : : </a> -<a name="54"><span class="lineNum"> 54 </span> :<span class="lineCov"> 38 : err = -FDT_ERR_BADOFFSET;</span></a> -<a name="55"><span class="lineNum"> 55 </span> :<span class="lineCov"> 38 : absoffset = stroffset + fdt_off_dt_strings(fdt);</span></a> -<a name="56"><span class="lineNum"> 56 </span> :<span class="lineCov"> 38 : if (absoffset >= (unsigned)totalsize)</span></a> +<a name="54"><span class="lineNum"> 54 </span> :<span class="lineCov"> 32 : err = -FDT_ERR_BADOFFSET;</span></a> +<a name="55"><span class="lineNum"> 55 </span> :<span class="lineCov"> 32 : absoffset = stroffset + fdt_off_dt_strings(fdt);</span></a> +<a name="56"><span class="lineNum"> 56 </span> :<span class="lineCov"> 32 : if (absoffset >= (unsigned)totalsize)</span></a> <a name="57"><span class="lineNum"> 57 </span> :<span class="lineNoCov"> 0 : goto fail;</span></a> -<a name="58"><span class="lineNum"> 58 </span> :<span class="lineCov"> 38 : len = totalsize - absoffset;</span></a> +<a name="58"><span class="lineNum"> 58 </span> :<span class="lineCov"> 32 : len = totalsize - absoffset;</span></a> <a name="59"><span class="lineNum"> 59 </span> : : </a> -<a name="60"><span class="lineNum"> 60 </span> :<span class="lineCov"> 38 : if (fdt_magic(fdt) == FDT_MAGIC) {</span></a> -<a name="61"><span class="lineNum"> 61 </span> :<span class="lineCov"> 38 : if (stroffset < 0)</span></a> +<a name="60"><span class="lineNum"> 60 </span> :<span class="lineCov"> 32 : if (fdt_magic(fdt) == FDT_MAGIC) {</span></a> +<a name="61"><span class="lineNum"> 61 </span> :<span class="lineCov"> 32 : if (stroffset < 0)</span></a> <a name="62"><span class="lineNum"> 62 </span> :<span class="lineNoCov"> 0 : goto fail;</span></a> -<a name="63"><span class="lineNum"> 63 </span> :<span class="lineCov"> 38 : if (can_assume(LATEST) || fdt_version(fdt) >= 17) {</span></a> -<a name="64"><span class="lineNum"> 64 </span> :<span class="lineCov"> 38 : if ((unsigned)stroffset >= fdt_size_dt_strings(fdt))</span></a> +<a name="63"><span class="lineNum"> 63 </span> :<span class="lineCov"> 32 : if (can_assume(LATEST) || fdt_version(fdt) >= 17) {</span></a> +<a name="64"><span class="lineNum"> 64 </span> :<span class="lineCov"> 32 : if ((unsigned)stroffset >= fdt_size_dt_strings(fdt))</span></a> <a name="65"><span class="lineNum"> 65 </span> :<span class="lineNoCov"> 0 : goto fail;</span></a> -<a name="66"><span class="lineNum"> 66 </span> :<span class="lineCov"> 38 : if ((fdt_size_dt_strings(fdt) - stroffset) < len)</span></a> +<a name="66"><span class="lineNum"> 66 </span> :<span class="lineCov"> 32 : if ((fdt_size_dt_strings(fdt) - stroffset) < len)</span></a> <a name="67"><span class="lineNum"> 67 </span> :<span class="lineNoCov"> 0 : len = fdt_size_dt_strings(fdt) - stroffset;</span></a> <a name="68"><span class="lineNum"> 68 </span> : : }</a> <a name="69"><span class="lineNum"> 69 </span> :<span class="lineNoCov"> 0 : } else if (fdt_magic(fdt) == FDT_SW_MAGIC) {</span></a> @@ -150,17 +150,17 @@ <a name="79"><span class="lineNum"> 79 </span> :<span class="lineNoCov"> 0 : goto fail;</span></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> :<span class="lineCov"> 38 : s = (const char *)fdt + absoffset;</span></a> -<a name="83"><span class="lineNum"> 83 </span> :<span class="lineCov"> 38 : n = memchr(s, '\0', len);</span></a> -<a name="84"><span class="lineNum"> 84 </span> :<span class="lineCov"> 38 : if (!n) {</span></a> +<a name="82"><span class="lineNum"> 82 </span> :<span class="lineCov"> 32 : s = (const char *)fdt + absoffset;</span></a> +<a name="83"><span class="lineNum"> 83 </span> :<span class="lineCov"> 32 : n = memchr(s, '\0', len);</span></a> +<a name="84"><span class="lineNum"> 84 </span> :<span class="lineCov"> 32 : if (!n) {</span></a> <a name="85"><span class="lineNum"> 85 </span> : : /* missing terminating NULL */</a> <a name="86"><span class="lineNum"> 86 </span> :<span class="lineNoCov"> 0 : err = -FDT_ERR_TRUNCATED;</span></a> <a name="87"><span class="lineNum"> 87 </span> :<span class="lineNoCov"> 0 : goto fail;</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> :<span class="lineCov"> 38 : if (lenp)</span></a> +<a name="90"><span class="lineNum"> 90 </span> :<span class="lineCov"> 32 : if (lenp)</span></a> <a name="91"><span class="lineNum"> 91 </span> :<span class="lineNoCov"> 0 : *lenp = n - s;</span></a> -<a name="92"><span class="lineNum"> 92 </span> :<span class="lineCov"> 38 : return s;</span></a> +<a name="92"><span class="lineNum"> 92 </span> :<span class="lineCov"> 32 : return s;</span></a> <a name="93"><span class="lineNum"> 93 </span> : : </a> <a name="94"><span class="lineNum"> 94 </span> :<span class="lineNoCov"> 0 : fail:</span></a> <a name="95"><span class="lineNum"> 95 </span> :<span class="lineNoCov"> 0 : if (lenp)</span></a> @@ -168,9 +168,9 @@ <a name="97"><span class="lineNum"> 97 </span> :<span class="lineNoCov"> 0 : return NULL;</span></a> <a name="98"><span class="lineNum"> 98 </span> : : }</a> <a name="99"><span class="lineNum"> 99 </span> : : </a> -<a name="100"><span class="lineNum"> 100 </span> :<span class="lineCov"> 38 : const char *fdt_string(const void *fdt, int stroffset)</span></a> +<a name="100"><span class="lineNum"> 100 </span> :<span class="lineCov"> 32 : const char *fdt_string(const void *fdt, int stroffset)</span></a> <a name="101"><span class="lineNum"> 101 </span> : : {</a> -<a name="102"><span class="lineNum"> 102 </span> :<span class="lineCov"> 38 : return fdt_get_string(fdt, stroffset, NULL);</span></a> +<a name="102"><span class="lineNum"> 102 </span> :<span class="lineCov"> 32 : return fdt_get_string(fdt, stroffset, NULL);</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 fdt_string_eq_(const void *fdt, int stroffset,</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 27bdb80..9e4f9df 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 e08d95c..9d1ffa6 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 6d03c56..0d62119 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 7474b79..6ea1f37 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">15</td> @@ -82,63 +82,63 @@ </tr> <tr> <td class="coverFn"><a href="fdt_sw.c.gcov.html#107">fdt_create_with_flags</a></td> - <td class="coverFnHi">2</td> + <td class="coverFnHi">1</td> </tr> <tr> <td class="coverFn"><a href="fdt_sw.c.gcov.html#335">fdt_finish</a></td> - <td class="coverFnHi">2</td> + <td class="coverFnHi">1</td> </tr> <tr> <td class="coverFn"><a href="fdt_sw.c.gcov.html#206">fdt_finish_reservemap</a></td> - <td class="coverFnHi">2</td> + <td class="coverFnHi">1</td> </tr> <tr> <td class="coverFn"><a href="fdt_sw.c.gcov.html#186">fdt_add_reservemap_entry</a></td> - <td class="coverFnHi">8</td> + <td class="coverFnHi">4</td> </tr> <tr> <td class="coverFn"><a href="fdt_sw.c.gcov.html#36">fdt_sw_probe_memrsv_</a></td> - <td class="coverFnHi">8</td> - </tr> - <tr> - <td class="coverFn"><a href="fdt_sw.c.gcov.html#248">fdt_add_string_</a></td> - <td class="coverFnHi">198</td> + <td class="coverFnHi">4</td> </tr> <tr> <td class="coverFn"><a href="fdt_sw.c.gcov.html#217">fdt_begin_node</a></td> - <td class="coverFnHi">236</td> + <td class="coverFnHi">80</td> </tr> <tr> <td class="coverFn"><a href="fdt_sw.c.gcov.html#234">fdt_end_node</a></td> - <td class="coverFnHi">236</td> + <td class="coverFnHi">80</td> + </tr> + <tr> + <td class="coverFn"><a href="fdt_sw.c.gcov.html#248">fdt_add_string_</a></td> + <td class="coverFnHi">99</td> </tr> <tr> <td class="coverFn"><a href="fdt_sw.c.gcov.html#274">fdt_find_add_string_</a></td> - <td class="coverFnHi">2811</td> + <td class="coverFnHi">846</td> </tr> <tr> <td class="coverFn"><a href="fdt_sw.c.gcov.html#323">fdt_property</a></td> - <td class="coverFnHi">2811</td> + <td class="coverFnHi">846</td> </tr> <tr> <td class="coverFn"><a href="fdt_sw.c.gcov.html#291">fdt_property_placeholder</a></td> - <td class="coverFnHi">2811</td> + <td class="coverFnHi">846</td> </tr> <tr> <td class="coverFn"><a href="fdt_sw.c.gcov.html#81">sw_flags</a></td> - <td class="coverFnHi">2811</td> + <td class="coverFnHi">846</td> </tr> <tr> <td class="coverFn"><a href="fdt_sw.c.gcov.html#92">fdt_grab_space_</a></td> - <td class="coverFnHi">3285</td> + <td class="coverFnHi">1007</td> </tr> <tr> <td class="coverFn"><a href="fdt_sw.c.gcov.html#62">fdt_sw_probe_struct_</a></td> - <td class="coverFnHi">3285</td> + <td class="coverFnHi">1007</td> </tr> <tr> <td class="coverFn"><a href="fdt_sw.c.gcov.html#11">fdt_sw_probe_</a></td> - <td class="coverFnHi">3293</td> + <td class="coverFnHi">1011</td> </tr> </table> <br> diff --git a/coverage-report/libfdt/fdt_sw.c.func.html b/coverage-report/libfdt/fdt_sw.c.func.html index cf62c8a..6346340 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">15</td> @@ -70,15 +70,15 @@ </tr> <tr> <td class="coverFn"><a href="fdt_sw.c.gcov.html#186">fdt_add_reservemap_entry</a></td> - <td class="coverFnHi">8</td> + <td class="coverFnHi">4</td> </tr> <tr> <td class="coverFn"><a href="fdt_sw.c.gcov.html#248">fdt_add_string_</a></td> - <td class="coverFnHi">198</td> + <td class="coverFnHi">99</td> </tr> <tr> <td class="coverFn"><a href="fdt_sw.c.gcov.html#217">fdt_begin_node</a></td> - <td class="coverFnHi">236</td> + <td class="coverFnHi">80</td> </tr> <tr> <td class="coverFn"><a href="fdt_sw.c.gcov.html#141">fdt_create</a></td> @@ -86,7 +86,7 @@ </tr> <tr> <td class="coverFn"><a href="fdt_sw.c.gcov.html#107">fdt_create_with_flags</a></td> - <td class="coverFnHi">2</td> + <td class="coverFnHi">1</td> </tr> <tr> <td class="coverFn"><a href="fdt_sw.c.gcov.html#266">fdt_del_last_string_</a></td> @@ -94,31 +94,31 @@ </tr> <tr> <td class="coverFn"><a href="fdt_sw.c.gcov.html#234">fdt_end_node</a></td> - <td class="coverFnHi">236</td> + <td class="coverFnHi">80</td> </tr> <tr> <td class="coverFn"><a href="fdt_sw.c.gcov.html#274">fdt_find_add_string_</a></td> - <td class="coverFnHi">2811</td> + <td class="coverFnHi">846</td> </tr> <tr> <td class="coverFn"><a href="fdt_sw.c.gcov.html#335">fdt_finish</a></td> - <td class="coverFnHi">2</td> + <td class="coverFnHi">1</td> </tr> <tr> <td class="coverFn"><a href="fdt_sw.c.gcov.html#206">fdt_finish_reservemap</a></td> - <td class="coverFnHi">2</td> + <td class="coverFnHi">1</td> </tr> <tr> <td class="coverFn"><a href="fdt_sw.c.gcov.html#92">fdt_grab_space_</a></td> - <td class="coverFnHi">3285</td> + <td class="coverFnHi">1007</td> </tr> <tr> <td class="coverFn"><a href="fdt_sw.c.gcov.html#323">fdt_property</a></td> - <td class="coverFnHi">2811</td> + <td class="coverFnHi">846</td> </tr> <tr> <td class="coverFn"><a href="fdt_sw.c.gcov.html#291">fdt_property_placeholder</a></td> - <td class="coverFnHi">2811</td> + <td class="coverFnHi">846</td> </tr> <tr> <td class="coverFn"><a href="fdt_sw.c.gcov.html#146">fdt_resize</a></td> @@ -126,19 +126,19 @@ </tr> <tr> <td class="coverFn"><a href="fdt_sw.c.gcov.html#11">fdt_sw_probe_</a></td> - <td class="coverFnHi">3293</td> + <td class="coverFnHi">1011</td> </tr> <tr> <td class="coverFn"><a href="fdt_sw.c.gcov.html#36">fdt_sw_probe_memrsv_</a></td> - <td class="coverFnHi">8</td> + <td class="coverFnHi">4</td> </tr> <tr> <td class="coverFn"><a href="fdt_sw.c.gcov.html#62">fdt_sw_probe_struct_</a></td> - <td class="coverFnHi">3285</td> + <td class="coverFnHi">1007</td> </tr> <tr> <td class="coverFn"><a href="fdt_sw.c.gcov.html#81">sw_flags</a></td> - <td class="coverFnHi">2811</td> + <td class="coverFnHi">846</td> </tr> </table> <br> diff --git a/coverage-report/libfdt/fdt_sw.c.gcov.html b/coverage-report/libfdt/fdt_sw.c.gcov.html index 908239a..abb78b1 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">15</td> @@ -81,16 +81,16 @@ <a name="10"><span class="lineNum"> 10 </span> : : </a> <a name="11"><span class="lineNum"> 11 </span> : : #include "libfdt_internal.h"</a> <a name="12"><span class="lineNum"> 12 </span> : : </a> -<a name="13"><span class="lineNum"> 13 </span> :<span class="lineCov"> 3293 : static int fdt_sw_probe_(void *fdt)</span></a> +<a name="13"><span class="lineNum"> 13 </span> :<span class="lineCov"> 1011 : static int fdt_sw_probe_(void *fdt)</span></a> <a name="14"><span class="lineNum"> 14 </span> : : {</a> -<a name="15"><span class="lineNum"> 15 </span> :<span class="lineCov"> 3293 : if (!can_assume(VALID_INPUT)) {</span></a> -<a name="16"><span class="lineNum"> 16 </span> :<span class="lineCov"> 3293 : if (fdt_magic(fdt) == FDT_MAGIC)</span></a> +<a name="15"><span class="lineNum"> 15 </span> :<span class="lineCov"> 1011 : if (!can_assume(VALID_INPUT)) {</span></a> +<a name="16"><span class="lineNum"> 16 </span> :<span class="lineCov"> 1011 : if (fdt_magic(fdt) == FDT_MAGIC)</span></a> <a name="17"><span class="lineNum"> 17 </span> :<span class="lineNoCov"> 0 : return -FDT_ERR_BADSTATE;</span></a> -<a name="18"><span class="lineNum"> 18 </span> :<span class="lineCov"> 3293 : else if (fdt_magic(fdt) != FDT_SW_MAGIC)</span></a> +<a name="18"><span class="lineNum"> 18 </span> :<span class="lineCov"> 1011 : else if (fdt_magic(fdt) != FDT_SW_MAGIC)</span></a> <a name="19"><span class="lineNum"> 19 </span> :<span class="lineNoCov"> 0 : return -FDT_ERR_BADMAGIC;</span></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> :<span class="lineCov"> 3293 : return 0;</span></a> +<a name="22"><span class="lineNum"> 22 </span> :<span class="lineCov"> 1011 : return 0;</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> : : #define FDT_SW_PROBE(fdt) \</a> @@ -106,15 +106,15 @@ <a name="35"><span class="lineNum"> 35 </span> : : * fdt_add_reservemap_entry()</a> <a name="36"><span class="lineNum"> 36 </span> : : * fdt_finish_reservemap() [moves to 'struct' state]</a> <a name="37"><span class="lineNum"> 37 </span> : : */</a> -<a name="38"><span class="lineNum"> 38 </span> :<span class="lineCov"> 8 : static int fdt_sw_probe_memrsv_(void *fdt)</span></a> +<a name="38"><span class="lineNum"> 38 </span> :<span class="lineCov"> 4 : static int fdt_sw_probe_memrsv_(void *fdt)</span></a> <a name="39"><span class="lineNum"> 39 </span> : : {</a> -<a name="40"><span class="lineNum"> 40 </span> :<span class="lineCov"> 8 : int err = fdt_sw_probe_(fdt);</span></a> -<a name="41"><span class="lineNum"> 41 </span> :<span class="lineCov"> 8 : if (err)</span></a> +<a name="40"><span class="lineNum"> 40 </span> :<span class="lineCov"> 4 : int err = fdt_sw_probe_(fdt);</span></a> +<a name="41"><span class="lineNum"> 41 </span> :<span class="lineCov"> 4 : if (err)</span></a> <a name="42"><span class="lineNum"> 42 </span> :<span class="lineNoCov"> 0 : return err;</span></a> <a name="43"><span class="lineNum"> 43 </span> : : </a> -<a name="44"><span class="lineNum"> 44 </span> :<span class="lineCov"> 8 : if (!can_assume(VALID_INPUT) && fdt_off_dt_strings(fdt) != 0)</span></a> +<a name="44"><span class="lineNum"> 44 </span> :<span class="lineCov"> 4 : if (!can_assume(VALID_INPUT) && fdt_off_dt_strings(fdt) != 0)</span></a> <a name="45"><span class="lineNum"> 45 </span> :<span class="lineNoCov"> 0 : return -FDT_ERR_BADSTATE;</span></a> -<a name="46"><span class="lineNum"> 46 </span> :<span class="lineCov"> 8 : return 0;</span></a> +<a name="46"><span class="lineNum"> 46 </span> :<span class="lineCov"> 4 : return 0;</span></a> <a name="47"><span class="lineNum"> 47 </span> : : }</a> <a name="48"><span class="lineNum"> 48 </span> : : </a> <a name="49"><span class="lineNum"> 49 </span> : : #define FDT_SW_PROBE_MEMRSV(fdt) \</a> @@ -132,16 +132,16 @@ <a name="61"><span class="lineNum"> 61 </span> : : * fdt_property*()</a> <a name="62"><span class="lineNum"> 62 </span> : : * fdt_finish() [moves to 'complete' state]</a> <a name="63"><span class="lineNum"> 63 </span> : : */</a> -<a name="64"><span class="lineNum"> 64 </span> :<span class="lineCov"> 3285 : static int fdt_sw_probe_struct_(void *fdt)</span></a> +<a name="64"><span class="lineNum"> 64 </span> :<span class="lineCov"> 1007 : static int fdt_sw_probe_struct_(void *fdt)</span></a> <a name="65"><span class="lineNum"> 65 </span> : : {</a> -<a name="66"><span class="lineNum"> 66 </span> :<span class="lineCov"> 3285 : int err = fdt_sw_probe_(fdt);</span></a> -<a name="67"><span class="lineNum"> 67 </span> :<span class="lineCov"> 3285 : if (err)</span></a> +<a name="66"><span class="lineNum"> 66 </span> :<span class="lineCov"> 1007 : int err = fdt_sw_probe_(fdt);</span></a> +<a name="67"><span class="lineNum"> 67 </span> :<span class="lineCov"> 1007 : if (err)</span></a> <a name="68"><span class="lineNum"> 68 </span> :<span class="lineNoCov"> 0 : return err;</span></a> <a name="69"><span class="lineNum"> 69 </span> : : </a> -<a name="70"><span class="lineNum"> 70 </span> :<span class="lineCov"> 6570 : if (!can_assume(VALID_INPUT) &&</span></a> -<a name="71"><span class="lineNum"> 71 </span> :<span class="lineCov"> 3285 : fdt_off_dt_strings(fdt) != fdt_totalsize(fdt))</span></a> +<a name="70"><span class="lineNum"> 70 </span> :<span class="lineCov"> 2014 : if (!can_assume(VALID_INPUT) &&</span></a> +<a name="71"><span class="lineNum"> 71 </span> :<span class="lineCov"> 1007 : fdt_off_dt_strings(fdt) != fdt_totalsize(fdt))</span></a> <a name="72"><span class="lineNum"> 72 </span> :<span class="lineNoCov"> 0 : return -FDT_ERR_BADSTATE;</span></a> -<a name="73"><span class="lineNum"> 73 </span> :<span class="lineCov"> 3285 : return 0;</span></a> +<a name="73"><span class="lineNum"> 73 </span> :<span class="lineCov"> 1007 : return 0;</span></a> <a name="74"><span class="lineNum"> 74 </span> : : }</a> <a name="75"><span class="lineNum"> 75 </span> : : </a> <a name="76"><span class="lineNum"> 76 </span> : : #define FDT_SW_PROBE_STRUCT(fdt) \</a> @@ -151,10 +151,10 @@ <a name="80"><span class="lineNum"> 80 </span> : : return err; \</a> <a name="81"><span class="lineNum"> 81 </span> : : }</a> <a name="82"><span class="lineNum"> 82 </span> : : </a> -<a name="83"><span class="lineNum"> 83 </span> :<span class="lineCov"> 2811 : static inline uint32_t sw_flags(void *fdt)</span></a> +<a name="83"><span class="lineNum"> 83 </span> :<span class="lineCov"> 846 : static inline uint32_t sw_flags(void *fdt)</span></a> <a name="84"><span class="lineNum"> 84 </span> : : {</a> <a name="85"><span class="lineNum"> 85 </span> : : /* assert: (fdt_magic(fdt) == FDT_SW_MAGIC) */</a> -<a name="86"><span class="lineNum"> 86 </span> :<span class="lineCov"> 2811 : return fdt_last_comp_version(fdt);</span></a> +<a name="86"><span class="lineNum"> 86 </span> :<span class="lineCov"> 846 : return fdt_last_comp_version(fdt);</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> : : /* 'complete' state: Enter this state after fdt_finish()</a> @@ -162,34 +162,34 @@ <a name="91"><span class="lineNum"> 91 </span> : : * Allowed functions: none</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> :<span class="lineCov"> 3285 : static void *fdt_grab_space_(void *fdt, size_t len)</span></a> +<a name="94"><span class="lineNum"> 94 </span> :<span class="lineCov"> 1007 : static void *fdt_grab_space_(void *fdt, size_t len)</span></a> <a name="95"><span class="lineNum"> 95 </span> : : {</a> -<a name="96"><span class="lineNum"> 96 </span> :<span class="lineCov"> 3285 : unsigned int offset = fdt_size_dt_struct(fdt);</span></a> +<a name="96"><span class="lineNum"> 96 </span> :<span class="lineCov"> 1007 : unsigned int offset = fdt_size_dt_struct(fdt);</span></a> <a name="97"><span class="lineNum"> 97 </span> : : unsigned int spaceleft;</a> <a name="98"><span class="lineNum"> 98 </span> : : </a> -<a name="99"><span class="lineNum"> 99 </span> :<span class="lineCov"> 3285 : spaceleft = fdt_totalsize(fdt) - fdt_off_dt_struct(fdt)</span></a> -<a name="100"><span class="lineNum"> 100 </span> :<span class="lineCov"> 3285 : - fdt_size_dt_strings(fdt);</span></a> +<a name="99"><span class="lineNum"> 99 </span> :<span class="lineCov"> 1007 : spaceleft = fdt_totalsize(fdt) - fdt_off_dt_struct(fdt)</span></a> +<a name="100"><span class="lineNum"> 100 </span> :<span class="lineCov"> 1007 : - fdt_size_dt_strings(fdt);</span></a> <a name="101"><span class="lineNum"> 101 </span> : : </a> -<a name="102"><span class="lineNum"> 102 </span> :<span class="lineCov"> 3285 : if ((offset + len < offset) || (offset + len > spaceleft))</span></a> +<a name="102"><span class="lineNum"> 102 </span> :<span class="lineCov"> 1007 : if ((offset + len < offset) || (offset + len > spaceleft))</span></a> <a name="103"><span class="lineNum"> 103 </span> :<span class="lineNoCov"> 0 : return NULL;</span></a> <a name="104"><span class="lineNum"> 104 </span> : : </a> -<a name="105"><span class="lineNum"> 105 </span> :<span class="lineCov"> 3285 : fdt_set_size_dt_struct(fdt, offset + len);</span></a> -<a name="106"><span class="lineNum"> 106 </span> :<span class="lineCov"> 3285 : return fdt_offset_ptr_w_(fdt, offset);</span></a> +<a name="105"><span class="lineNum"> 105 </span> :<span class="lineCov"> 1007 : fdt_set_size_dt_struct(fdt, offset + len);</span></a> +<a name="106"><span class="lineNum"> 106 </span> :<span class="lineCov"> 1007 : return fdt_offset_ptr_w_(fdt, offset);</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"> 2 : int fdt_create_with_flags(void *buf, int bufsize, uint32_t flags)</span></a> +<a name="109"><span class="lineNum"> 109 </span> :<span class="lineCov"> 1 : int fdt_create_with_flags(void *buf, int bufsize, uint32_t flags)</span></a> <a name="110"><span class="lineNum"> 110 </span> : : {</a> -<a name="111"><span class="lineNum"> 111 </span> :<span class="lineCov"> 2 : const int hdrsize = FDT_ALIGN(sizeof(struct fdt_header),</span></a> +<a name="111"><span class="lineNum"> 111 </span> :<span class="lineCov"> 1 : const int hdrsize = FDT_ALIGN(sizeof(struct fdt_header),</span></a> <a name="112"><span class="lineNum"> 112 </span> : : sizeof(struct fdt_reserve_entry));</a> -<a name="113"><span class="lineNum"> 113 </span> :<span class="lineCov"> 2 : void *fdt = buf;</span></a> +<a name="113"><span class="lineNum"> 113 </span> :<span class="lineCov"> 1 : void *fdt = buf;</span></a> <a name="114"><span class="lineNum"> 114 </span> : : </a> -<a name="115"><span class="lineNum"> 115 </span> :<span class="lineCov"> 2 : if (bufsize < hdrsize)</span></a> +<a name="115"><span class="lineNum"> 115 </span> :<span class="lineCov"> 1 : if (bufsize < hdrsize)</span></a> <a name="116"><span class="lineNum"> 116 </span> :<span class="lineNoCov"> 0 : return -FDT_ERR_NOSPACE;</span></a> <a name="117"><span class="lineNum"> 117 </span> : : </a> -<a name="118"><span class="lineNum"> 118 </span> :<span class="lineCov"> 2 : if (flags & ~FDT_CREATE_FLAGS_ALL)</span></a> +<a name="118"><span class="lineNum"> 118 </span> :<span class="lineCov"> 1 : if (flags & ~FDT_CREATE_FLAGS_ALL)</span></a> <a name="119"><span class="lineNum"> 119 </span> :<span class="lineNoCov"> 0 : return -FDT_ERR_BADFLAGS;</span></a> <a name="120"><span class="lineNum"> 120 </span> : : </a> -<a name="121"><span class="lineNum"> 121 </span> :<span class="lineCov"> 2 : memset(buf, 0, bufsize);</span></a> +<a name="121"><span class="lineNum"> 121 </span> :<span class="lineCov"> 1 : memset(buf, 0, bufsize);</span></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> : : * magic and last_comp_version keep intermediate state during the fdt</a> @@ -198,17 +198,17 @@ <a name="127"><span class="lineNum"> 127 </span> : : *</a> <a name="128"><span class="lineNum"> 128 </span> : : * flags should be accessed with sw_flags().</a> <a name="129"><span class="lineNum"> 129 </span> : : */</a> -<a name="130"><span class="lineNum"> 130 </span> :<span class="lineCov"> 2 : fdt_set_magic(fdt, FDT_SW_MAGIC);</span></a> -<a name="131"><span class="lineNum"> 131 </span> :<span class="lineCov"> 2 : fdt_set_version(fdt, FDT_LAST_SUPPORTED_VERSION);</span></a> -<a name="132"><span class="lineNum"> 132 </span> :<span class="lineCov"> 2 : fdt_set_last_comp_version(fdt, flags);</span></a> +<a name="130"><span class="lineNum"> 130 </span> :<span class="lineCov"> 1 : fdt_set_magic(fdt, FDT_SW_MAGIC);</span></a> +<a name="131"><span class="lineNum"> 131 </span> :<span class="lineCov"> 1 : fdt_set_version(fdt, FDT_LAST_SUPPORTED_VERSION);</span></a> +<a name="132"><span class="lineNum"> 132 </span> :<span class="lineCov"> 1 : fdt_set_last_comp_version(fdt, flags);</span></a> <a name="133"><span class="lineNum"> 133 </span> : : </a> -<a name="134"><span class="lineNum"> 134 </span> :<span class="lineCov"> 2 : fdt_set_totalsize(fdt, bufsize);</span></a> +<a name="134"><span class="lineNum"> 134 </span> :<span class="lineCov"> 1 : fdt_set_totalsize(fdt, bufsize);</span></a> <a name="135"><span class="lineNum"> 135 </span> : : </a> -<a name="136"><span class="lineNum"> 136 </span> :<span class="lineCov"> 2 : fdt_set_off_mem_rsvmap(fdt, hdrsize);</span></a> -<a name="137"><span class="lineNum"> 137 </span> :<span class="lineCov"> 2 : fdt_set_off_dt_struct(fdt, fdt_off_mem_rsvmap(fdt));</span></a> -<a name="138"><span class="lineNum"> 138 </span> :<span class="lineCov"> 2 : fdt_set_off_dt_strings(fdt, 0);</span></a> +<a name="136"><span class="lineNum"> 136 </span> :<span class="lineCov"> 1 : fdt_set_off_mem_rsvmap(fdt, hdrsize);</span></a> +<a name="137"><span class="lineNum"> 137 </span> :<span class="lineCov"> 1 : fdt_set_off_dt_struct(fdt, fdt_off_mem_rsvmap(fdt));</span></a> +<a name="138"><span class="lineNum"> 138 </span> :<span class="lineCov"> 1 : fdt_set_off_dt_strings(fdt, 0);</span></a> <a name="139"><span class="lineNum"> 139 </span> : : </a> -<a name="140"><span class="lineNum"> 140 </span> :<span class="lineCov"> 2 : return 0;</span></a> +<a name="140"><span class="lineNum"> 140 </span> :<span class="lineCov"> 1 : return 0;</span></a> <a name="141"><span class="lineNum"> 141 </span> : : }</a> <a name="142"><span class="lineNum"> 142 </span> : : </a> <a name="143"><span class="lineNum"> 143 </span> :<span class="lineNoCov"> 0 : int fdt_create(void *buf, int bufsize)</span></a> @@ -256,83 +256,83 @@ <a name="185"><span class="lineNum"> 185 </span> :<span class="lineNoCov"> 0 : return 0;</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"> 8 : int fdt_add_reservemap_entry(void *fdt, uint64_t addr, uint64_t size)</span></a> +<a name="188"><span class="lineNum"> 188 </span> :<span class="lineCov"> 4 : int fdt_add_reservemap_entry(void *fdt, uint64_t addr, uint64_t size)</span></a> <a name="189"><span class="lineNum"> 189 </span> : : {</a> <a name="190"><span class="lineNum"> 190 </span> : : struct fdt_reserve_entry *re;</a> <a name="191"><span class="lineNum"> 191 </span> : : int offset;</a> <a name="192"><span class="lineNum"> 192 </span> : : </a> -<a name="193"><span class="lineNum"> 193 </span> :<span class="lineCov"> 8 : FDT_SW_PROBE_MEMRSV(fdt);</span></a> +<a name="193"><span class="lineNum"> 193 </span> :<span class="lineCov"> 4 : FDT_SW_PROBE_MEMRSV(fdt);</span></a> <a name="194"><span class="lineNum"> 194 </span> : : </a> -<a name="195"><span class="lineNum"> 195 </span> :<span class="lineCov"> 8 : offset = fdt_off_dt_struct(fdt);</span></a> -<a name="196"><span class="lineNum"> 196 </span> :<span class="lineCov"> 8 : if ((offset + sizeof(*re)) > fdt_totalsize(fdt))</span></a> +<a name="195"><span class="lineNum"> 195 </span> :<span class="lineCov"> 4 : offset = fdt_off_dt_struct(fdt);</span></a> +<a name="196"><span class="lineNum"> 196 </span> :<span class="lineCov"> 4 : if ((offset + sizeof(*re)) > fdt_totalsize(fdt))</span></a> <a name="197"><span class="lineNum"> 197 </span> :<span class="lineNoCov"> 0 : return -FDT_ERR_NOSPACE;</span></a> <a name="198"><span class="lineNum"> 198 </span> : : </a> -<a name="199"><span class="lineNum"> 199 </span> :<span class="lineCov"> 8 : re = (struct fdt_reserve_entry *)((char *)fdt + offset);</span></a> -<a name="200"><span class="lineNum"> 200 </span> :<span class="lineCov"> 8 : re->address = cpu_to_fdt64(addr);</span></a> -<a name="201"><span class="lineNum"> 201 </span> :<span class="lineCov"> 8 : re->size = cpu_to_fdt64(size);</span></a> +<a name="199"><span class="lineNum"> 199 </span> :<span class="lineCov"> 4 : re = (struct fdt_reserve_entry *)((char *)fdt + offset);</span></a> +<a name="200"><span class="lineNum"> 200 </span> :<span class="lineCov"> 4 : re->address = cpu_to_fdt64(addr);</span></a> +<a name="201"><span class="lineNum"> 201 </span> :<span class="lineCov"> 4 : re->size = cpu_to_fdt64(size);</span></a> <a name="202"><span class="lineNum"> 202 </span> : : </a> -<a name="203"><span class="lineNum"> 203 </span> :<span class="lineCov"> 8 : fdt_set_off_dt_struct(fdt, offset + sizeof(*re));</span></a> +<a name="203"><span class="lineNum"> 203 </span> :<span class="lineCov"> 4 : fdt_set_off_dt_struct(fdt, offset + sizeof(*re));</span></a> <a name="204"><span class="lineNum"> 204 </span> : : </a> -<a name="205"><span class="lineNum"> 205 </span> :<span class="lineCov"> 8 : return 0;</span></a> +<a name="205"><span class="lineNum"> 205 </span> :<span class="lineCov"> 4 : return 0;</span></a> <a name="206"><span class="lineNum"> 206 </span> : : }</a> <a name="207"><span class="lineNum"> 207 </span> : : </a> -<a name="208"><span class="lineNum"> 208 </span> :<span class="lineCov"> 2 : int fdt_finish_reservemap(void *fdt)</span></a> +<a name="208"><span class="lineNum"> 208 </span> :<span class="lineCov"> 1 : int fdt_finish_reservemap(void *fdt)</span></a> <a name="209"><span class="lineNum"> 209 </span> : : {</a> -<a name="210"><span class="lineNum"> 210 </span> :<span class="lineCov"> 2 : int err = fdt_add_reservemap_entry(fdt, 0, 0);</span></a> +<a name="210"><span class="lineNum"> 210 </span> :<span class="lineCov"> 1 : int err = fdt_add_reservemap_entry(fdt, 0, 0);</span></a> <a name="211"><span class="lineNum"> 211 </span> : : </a> -<a name="212"><span class="lineNum"> 212 </span> :<span class="lineCov"> 2 : if (err)</span></a> +<a name="212"><span class="lineNum"> 212 </span> :<span class="lineCov"> 1 : if (err)</span></a> <a name="213"><span class="lineNum"> 213 </span> :<span class="lineNoCov"> 0 : return err;</span></a> <a name="214"><span class="lineNum"> 214 </span> : : </a> -<a name="215"><span class="lineNum"> 215 </span> :<span class="lineCov"> 2 : fdt_set_off_dt_strings(fdt, fdt_totalsize(fdt));</span></a> -<a name="216"><span class="lineNum"> 216 </span> :<span class="lineCov"> 2 : return 0;</span></a> +<a name="215"><span class="lineNum"> 215 </span> :<span class="lineCov"> 1 : fdt_set_off_dt_strings(fdt, fdt_totalsize(fdt));</span></a> +<a name="216"><span class="lineNum"> 216 </span> :<span class="lineCov"> 1 : return 0;</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"> 236 : int fdt_begin_node(void *fdt, const char *name)</span></a> +<a name="219"><span class="lineNum"> 219 </span> :<span class="lineCov"> 80 : int fdt_begin_node(void *fdt, const char *name)</span></a> <a name="220"><span class="lineNum"> 220 </span> : : {</a> <a name="221"><span class="lineNum"> 221 </span> : : struct fdt_node_header *nh;</a> <a name="222"><span class="lineNum"> 222 </span> : : int namelen;</a> <a name="223"><span class="lineNum"> 223 </span> : : </a> -<a name="224"><span class="lineNum"> 224 </span> :<span class="lineCov"> 236 : FDT_SW_PROBE_STRUCT(fdt);</span></a> +<a name="224"><span class="lineNum"> 224 </span> :<span class="lineCov"> 80 : FDT_SW_PROBE_STRUCT(fdt);</span></a> <a name="225"><span class="lineNum"> 225 </span> : : </a> -<a name="226"><span class="lineNum"> 226 </span> :<span class="lineCov"> 236 : namelen = strlen(name) + 1;</span></a> -<a name="227"><span class="lineNum"> 227 </span> :<span class="lineCov"> 236 : nh = fdt_grab_space_(fdt, sizeof(*nh) + FDT_TAGALIGN(namelen));</span></a> -<a name="228"><span class="lineNum"> 228 </span> :<span class="lineCov"> 236 : if (! nh)</span></a> +<a name="226"><span class="lineNum"> 226 </span> :<span class="lineCov"> 80 : namelen = strlen(name) + 1;</span></a> +<a name="227"><span class="lineNum"> 227 </span> :<span class="lineCov"> 80 : nh = fdt_grab_space_(fdt, sizeof(*nh) + FDT_TAGALIGN(namelen));</span></a> +<a name="228"><span class="lineNum"> 228 </span> :<span class="lineCov"> 80 : if (! nh)</span></a> <a name="229"><span class="lineNum"> 229 </span> :<span class="lineNoCov"> 0 : return -FDT_ERR_NOSPACE;</span></a> <a name="230"><span class="lineNum"> 230 </span> : : </a> -<a name="231"><span class="lineNum"> 231 </span> :<span class="lineCov"> 236 : nh->tag = cpu_to_fdt32(FDT_BEGIN_NODE);</span></a> -<a name="232"><span class="lineNum"> 232 </span> :<span class="lineCov"> 236 : memcpy(nh->name, name, namelen);</span></a> -<a name="233"><span class="lineNum"> 233 </span> :<span class="lineCov"> 236 : return 0;</span></a> +<a name="231"><span class="lineNum"> 231 </span> :<span class="lineCov"> 80 : nh->tag = cpu_to_fdt32(FDT_BEGIN_NODE);</span></a> +<a name="232"><span class="lineNum"> 232 </span> :<span class="lineCov"> 80 : memcpy(nh->name, name, namelen);</span></a> +<a name="233"><span class="lineNum"> 233 </span> :<span class="lineCov"> 80 : return 0;</span></a> <a name="234"><span class="lineNum"> 234 </span> : : }</a> <a name="235"><span class="lineNum"> 235 </span> : : </a> -<a name="236"><span class="lineNum"> 236 </span> :<span class="lineCov"> 236 : int fdt_end_node(void *fdt)</span></a> +<a name="236"><span class="lineNum"> 236 </span> :<span class="lineCov"> 80 : int fdt_end_node(void *fdt)</span></a> <a name="237"><span class="lineNum"> 237 </span> : : {</a> <a name="238"><span class="lineNum"> 238 </span> : : fdt32_t *en;</a> <a name="239"><span class="lineNum"> 239 </span> : : </a> -<a name="240"><span class="lineNum"> 240 </span> :<span class="lineCov"> 236 : FDT_SW_PROBE_STRUCT(fdt);</span></a> +<a name="240"><span class="lineNum"> 240 </span> :<span class="lineCov"> 80 : FDT_SW_PROBE_STRUCT(fdt);</span></a> <a name="241"><span class="lineNum"> 241 </span> : : </a> -<a name="242"><span class="lineNum"> 242 </span> :<span class="lineCov"> 236 : en = fdt_grab_space_(fdt, FDT_TAGSIZE);</span></a> -<a name="243"><span class="lineNum"> 243 </span> :<span class="lineCov"> 236 : if (! en)</span></a> +<a name="242"><span class="lineNum"> 242 </span> :<span class="lineCov"> 80 : en = fdt_grab_space_(fdt, FDT_TAGSIZE);</span></a> +<a name="243"><span class="lineNum"> 243 </span> :<span class="lineCov"> 80 : if (! en)</span></a> <a name="244"><span class="lineNum"> 244 </span> :<span class="lineNoCov"> 0 : return -FDT_ERR_NOSPACE;</span></a> <a name="245"><span class="lineNum"> 245 </span> : : </a> -<a name="246"><span class="lineNum"> 246 </span> :<span class="lineCov"> 236 : *en = cpu_to_fdt32(FDT_END_NODE);</span></a> -<a name="247"><span class="lineNum"> 247 </span> :<span class="lineCov"> 236 : return 0;</span></a> +<a name="246"><span class="lineNum"> 246 </span> :<span class="lineCov"> 80 : *en = cpu_to_fdt32(FDT_END_NODE);</span></a> +<a name="247"><span class="lineNum"> 247 </span> :<span class="lineCov"> 80 : return 0;</span></a> <a name="248"><span class="lineNum"> 248 </span> : : }</a> <a name="249"><span class="lineNum"> 249 </span> : : </a> -<a name="250"><span class="lineNum"> 250 </span> :<span class="lineCov"> 198 : static int fdt_add_string_(void *fdt, const char *s)</span></a> +<a name="250"><span class="lineNum"> 250 </span> :<span class="lineCov"> 99 : static int fdt_add_string_(void *fdt, const char *s)</span></a> <a name="251"><span class="lineNum"> 251 </span> : : {</a> -<a name="252"><span class="lineNum"> 252 </span> :<span class="lineCov"> 198 : char *strtab = (char *)fdt + fdt_totalsize(fdt);</span></a> -<a name="253"><span class="lineNum"> 253 </span> :<span class="lineCov"> 198 : unsigned int strtabsize = fdt_size_dt_strings(fdt);</span></a> -<a name="254"><span class="lineNum"> 254 </span> :<span class="lineCov"> 198 : unsigned int len = strlen(s) + 1;</span></a> +<a name="252"><span class="lineNum"> 252 </span> :<span class="lineCov"> 99 : char *strtab = (char *)fdt + fdt_totalsize(fdt);</span></a> +<a name="253"><span class="lineNum"> 253 </span> :<span class="lineCov"> 99 : unsigned int strtabsize = fdt_size_dt_strings(fdt);</span></a> +<a name="254"><span class="lineNum"> 254 </span> :<span class="lineCov"> 99 : unsigned int len = strlen(s) + 1;</span></a> <a name="255"><span class="lineNum"> 255 </span> : : unsigned int struct_top, offset;</a> <a name="256"><span class="lineNum"> 256 </span> : : </a> -<a name="257"><span class="lineNum"> 257 </span> :<span class="lineCov"> 198 : offset = strtabsize + len;</span></a> -<a name="258"><span class="lineNum"> 258 </span> :<span class="lineCov"> 198 : struct_top = fdt_off_dt_struct(fdt) + fdt_size_dt_struct(fdt);</span></a> -<a name="259"><span class="lineNum"> 259 </span> :<span class="lineCov"> 198 : if (fdt_totalsize(fdt) - offset < struct_top)</span></a> +<a name="257"><span class="lineNum"> 257 </span> :<span class="lineCov"> 99 : offset = strtabsize + len;</span></a> +<a name="258"><span class="lineNum"> 258 </span> :<span class="lineCov"> 99 : struct_top = fdt_off_dt_struct(fdt) + fdt_size_dt_struct(fdt);</span></a> +<a name="259"><span class="lineNum"> 259 </span> :<span class="lineCov"> 99 : if (fdt_totalsize(fdt) - offset < struct_top)</span></a> <a name="260"><span class="lineNum"> 260 </span> :<span class="lineNoCov"> 0 : return 0; /* no more room :( */</span></a> <a name="261"><span class="lineNum"> 261 </span> : : </a> -<a name="262"><span class="lineNum"> 262 </span> :<span class="lineCov"> 198 : memcpy(strtab - offset, s, len);</span></a> -<a name="263"><span class="lineNum"> 263 </span> :<span class="lineCov"> 198 : fdt_set_size_dt_strings(fdt, strtabsize + len);</span></a> -<a name="264"><span class="lineNum"> 264 </span> :<span class="lineCov"> 198 : return -offset;</span></a> +<a name="262"><span class="lineNum"> 262 </span> :<span class="lineCov"> 99 : memcpy(strtab - offset, s, len);</span></a> +<a name="263"><span class="lineNum"> 263 </span> :<span class="lineCov"> 99 : fdt_set_size_dt_strings(fdt, strtabsize + len);</span></a> +<a name="264"><span class="lineNum"> 264 </span> :<span class="lineCov"> 99 : return -offset;</span></a> <a name="265"><span class="lineNum"> 265 </span> : : }</a> <a name="266"><span class="lineNum"> 266 </span> : : </a> <a name="267"><span class="lineNum"> 267 </span> : : /* Must only be used to roll back in case of error */</a> @@ -344,114 +344,114 @@ <a name="273"><span class="lineNum"> 273 </span> :<span class="lineNoCov"> 0 : fdt_set_size_dt_strings(fdt, strtabsize - len);</span></a> <a name="274"><span class="lineNum"> 274 </span> :<span class="lineNoCov"> 0 : }</span></a> <a name="275"><span class="lineNum"> 275 </span> : : </a> -<a name="276"><span class="lineNum"> 276 </span> :<span class="lineCov"> 2811 : static int fdt_find_add_string_(void *fdt, const char *s, int *allocated)</span></a> +<a name="276"><span class="lineNum"> 276 </span> :<span class="lineCov"> 846 : static int fdt_find_add_string_(void *fdt, const char *s, int *allocated)</span></a> <a name="277"><span class="lineNum"> 277 </span> : : {</a> -<a name="278"><span class="lineNum"> 278 </span> :<span class="lineCov"> 2811 : char *strtab = (char *)fdt + fdt_totalsize(fdt);</span></a> -<a name="279"><span class="lineNum"> 279 </span> :<span class="lineCov"> 2811 : int strtabsize = fdt_size_dt_strings(fdt);</span></a> +<a name="278"><span class="lineNum"> 278 </span> :<span class="lineCov"> 846 : char *strtab = (char *)fdt + fdt_totalsize(fdt);</span></a> +<a name="279"><span class="lineNum"> 279 </span> :<span class="lineCov"> 846 : int strtabsize = fdt_size_dt_strings(fdt);</span></a> <a name="280"><span class="lineNum"> 280 </span> : : const char *p;</a> <a name="281"><span class="lineNum"> 281 </span> : : </a> -<a name="282"><span class="lineNum"> 282 </span> :<span class="lineCov"> 2811 : *allocated = 0;</span></a> +<a name="282"><span class="lineNum"> 282 </span> :<span class="lineCov"> 846 : *allocated = 0;</span></a> <a name="283"><span class="lineNum"> 283 </span> : : </a> -<a name="284"><span class="lineNum"> 284 </span> :<span class="lineCov"> 2811 : p = fdt_find_string_(strtab - strtabsize, strtabsize, s);</span></a> -<a name="285"><span class="lineNum"> 285 </span> :<span class="lineCov"> 2811 : if (p)</span></a> -<a name="286"><span class="lineNum"> 286 </span> :<span class="lineCov"> 2613 : return p - strtab;</span></a> +<a name="284"><span class="lineNum"> 284 </span> :<span class="lineCov"> 846 : p = fdt_find_string_(strtab - strtabsize, strtabsize, s);</span></a> +<a name="285"><span class="lineNum"> 285 </span> :<span class="lineCov"> 846 : if (p)</span></a> +<a name="286"><span class="lineNum"> 286 </span> :<span class="lineCov"> 747 : return p - strtab;</span></a> <a name="287"><span class="lineNum"> 287 </span> : : </a> -<a name="288"><span class="lineNum"> 288 </span> :<span class="lineCov"> 198 : *allocated = 1;</span></a> +<a name="288"><span class="lineNum"> 288 </span> :<span class="lineCov"> 99 : *allocated = 1;</span></a> <a name="289"><span class="lineNum"> 289 </span> : : </a> -<a name="290"><span class="lineNum"> 290 </span> :<span class="lineCov"> 198 : return fdt_add_string_(fdt, s);</span></a> +<a name="290"><span class="lineNum"> 290 </span> :<span class="lineCov"> 99 : return fdt_add_string_(fdt, s);</span></a> <a name="291"><span class="lineNum"> 291 </span> : : }</a> <a name="292"><span class="lineNum"> 292 </span> : : </a> -<a name="293"><span class="lineNum"> 293 </span> :<span class="lineCov"> 2811 : int fdt_property_placeholder(void *fdt, const char *name, int len, void **valp)</span></a> +<a name="293"><span class="lineNum"> 293 </span> :<span class="lineCov"> 846 : int fdt_property_placeholder(void *fdt, const char *name, int len, void **valp)</span></a> <a name="294"><span class="lineNum"> 294 </span> : : {</a> <a name="295"><span class="lineNum"> 295 </span> : : struct fdt_property *prop;</a> <a name="296"><span class="lineNum"> 296 </span> : : int nameoff;</a> <a name="297"><span class="lineNum"> 297 </span> : : int allocated;</a> <a name="298"><span class="lineNum"> 298 </span> : : </a> -<a name="299"><span class="lineNum"> 299 </span> :<span class="lineCov"> 2811 : FDT_SW_PROBE_STRUCT(fdt);</span></a> +<a name="299"><span class="lineNum"> 299 </span> :<span class="lineCov"> 846 : FDT_SW_PROBE_STRUCT(fdt);</span></a> <a name="300"><span class="lineNum"> 300 </span> : : </a> <a name="301"><span class="lineNum"> 301 </span> : : /* String de-duplication can be slow, _NO_NAME_DEDUP skips it */</a> -<a name="302"><span class="lineNum"> 302 </span> :<span class="lineCov"> 2811 : if (sw_flags(fdt) & FDT_CREATE_FLAG_NO_NAME_DEDUP) {</span></a> +<a name="302"><span class="lineNum"> 302 </span> :<span class="lineCov"> 846 : if (sw_flags(fdt) & FDT_CREATE_FLAG_NO_NAME_DEDUP) {</span></a> <a name="303"><span class="lineNum"> 303 </span> :<span class="lineNoCov"> 0 : allocated = 1;</span></a> <a name="304"><span class="lineNum"> 304 </span> :<span class="lineNoCov"> 0 : nameoff = fdt_add_string_(fdt, name);</span></a> <a name="305"><span class="lineNum"> 305 </span> : : } else {</a> -<a name="306"><span class="lineNum"> 306 </span> :<span class="lineCov"> 2811 : nameoff = fdt_find_add_string_(fdt, name, &allocated);</span></a> +<a name="306"><span class="lineNum"> 306 </span> :<span class="lineCov"> 846 : nameoff = fdt_find_add_string_(fdt, name, &allocated);</span></a> <a name="307"><span class="lineNum"> 307 </span> : : }</a> -<a name="308"><span class="lineNum"> 308 </span> :<span class="lineCov"> 2811 : if (nameoff == 0)</span></a> +<a name="308"><span class="lineNum"> 308 </span> :<span class="lineCov"> 846 : if (nameoff == 0)</span></a> <a name="309"><span class="lineNum"> 309 </span> :<span class="lineNoCov"> 0 : return -FDT_ERR_NOSPACE;</span></a> <a name="310"><span class="lineNum"> 310 </span> : : </a> -<a name="311"><span class="lineNum"> 311 </span> :<span class="lineCov"> 2811 : prop = fdt_grab_space_(fdt, sizeof(*prop) + FDT_TAGALIGN(len));</span></a> -<a name="312"><span class="lineNum"> 312 </span> :<span class="lineCov"> 2811 : if (! prop) {</span></a> +<a name="311"><span class="lineNum"> 311 </span> :<span class="lineCov"> 846 : prop = fdt_grab_space_(fdt, sizeof(*prop) + FDT_TAGALIGN(len));</span></a> +<a name="312"><span class="lineNum"> 312 </span> :<span class="lineCov"> 846 : if (! prop) {</span></a> <a name="313"><span class="lineNum"> 313 </span> :<span class="lineNoCov"> 0 : if (allocated)</span></a> <a name="314"><span class="lineNum"> 314 </span> :<span class="lineNoCov"> 0 : fdt_del_last_string_(fdt, name);</span></a> <a name="315"><span class="lineNum"> 315 </span> :<span class="lineNoCov"> 0 : return -FDT_ERR_NOSPACE;</span></a> <a name="316"><span class="lineNum"> 316 </span> : : }</a> <a name="317"><span class="lineNum"> 317 </span> : : </a> -<a name="318"><span class="lineNum"> 318 </span> :<span class="lineCov"> 2811 : prop->tag = cpu_to_fdt32(FDT_PROP);</span></a> -<a name="319"><span class="lineNum"> 319 </span> :<span class="lineCov"> 2811 : prop->nameoff = cpu_to_fdt32(nameoff);</span></a> -<a name="320"><span class="lineNum"> 320 </span> :<span class="lineCov"> 2811 : prop->len = cpu_to_fdt32(len);</span></a> -<a name="321"><span class="lineNum"> 321 </span> :<span class="lineCov"> 2811 : *valp = prop->data;</span></a> -<a name="322"><span class="lineNum"> 322 </span> :<span class="lineCov"> 2811 : return 0;</span></a> +<a name="318"><span class="lineNum"> 318 </span> :<span class="lineCov"> 846 : prop->tag = cpu_to_fdt32(FDT_PROP);</span></a> +<a name="319"><span class="lineNum"> 319 </span> :<span class="lineCov"> 846 : prop->nameoff = cpu_to_fdt32(nameoff);</span></a> +<a name="320"><span class="lineNum"> 320 </span> :<span class="lineCov"> 846 : prop->len = cpu_to_fdt32(len);</span></a> +<a name="321"><span class="lineNum"> 321 </span> :<span class="lineCov"> 846 : *valp = prop->data;</span></a> +<a name="322"><span class="lineNum"> 322 </span> :<span class="lineCov"> 846 : return 0;</span></a> <a name="323"><span class="lineNum"> 323 </span> : : }</a> <a name="324"><span class="lineNum"> 324 </span> : : </a> -<a name="325"><span class="lineNum"> 325 </span> :<span class="lineCov"> 2811 : int fdt_property(void *fdt, const char *name, const void *val, int len)</span></a> +<a name="325"><span class="lineNum"> 325 </span> :<span class="lineCov"> 846 : int fdt_property(void *fdt, const char *name, const void *val, int len)</span></a> <a name="326"><span class="lineNum"> 326 </span> : : {</a> <a name="327"><span class="lineNum"> 327 </span> : : void *ptr;</a> <a name="328"><span class="lineNum"> 328 </span> : : int ret;</a> <a name="329"><span class="lineNum"> 329 </span> : : </a> -<a name="330"><span class="lineNum"> 330 </span> :<span class="lineCov"> 2811 : ret = fdt_property_placeholder(fdt, name, len, &ptr);</span></a> -<a name="331"><span class="lineNum"> 331 </span> :<span class="lineCov"> 2811 : if (ret)</span></a> +<a name="330"><span class="lineNum"> 330 </span> :<span class="lineCov"> 846 : ret = fdt_property_placeholder(fdt, name, len, &ptr);</span></a> +<a name="331"><span class="lineNum"> 331 </span> :<span class="lineCov"> 846 : if (ret)</span></a> <a name="332"><span class="lineNum"> 332 </span> :<span class="lineNoCov"> 0 : return ret;</span></a> -<a name="333"><span class="lineNum"> 333 </span> :<span class="lineCov"> 2811 : memcpy(ptr, val, len);</span></a> -<a name="334"><span class="lineNum"> 334 </span> :<span class="lineCov"> 2811 : return 0;</span></a> +<a name="333"><span class="lineNum"> 333 </span> :<span class="lineCov"> 846 : memcpy(ptr, val, len);</span></a> +<a name="334"><span class="lineNum"> 334 </span> :<span class="lineCov"> 846 : return 0;</span></a> <a name="335"><span class="lineNum"> 335 </span> : : }</a> <a name="336"><span class="lineNum"> 336 </span> : : </a> -<a name="337"><span class="lineNum"> 337 </span> :<span class="lineCov"> 2 : int fdt_finish(void *fdt)</span></a> +<a name="337"><span class="lineNum"> 337 </span> :<span class="lineCov"> 1 : int fdt_finish(void *fdt)</span></a> <a name="338"><span class="lineNum"> 338 </span> : : {</a> -<a name="339"><span class="lineNum"> 339 </span> :<span class="lineCov"> 2 : char *p = (char *)fdt;</span></a> +<a name="339"><span class="lineNum"> 339 </span> :<span class="lineCov"> 1 : char *p = (char *)fdt;</span></a> <a name="340"><span class="lineNum"> 340 </span> : : fdt32_t *end;</a> <a name="341"><span class="lineNum"> 341 </span> : : int oldstroffset, newstroffset;</a> <a name="342"><span class="lineNum"> 342 </span> : : uint32_t tag;</a> <a name="343"><span class="lineNum"> 343 </span> : : int offset, nextoffset;</a> <a name="344"><span class="lineNum"> 344 </span> : : </a> -<a name="345"><span class="lineNum"> 345 </span> :<span class="lineCov"> 2 : FDT_SW_PROBE_STRUCT(fdt);</span></a> +<a name="345"><span class="lineNum"> 345 </span> :<span class="lineCov"> 1 : FDT_SW_PROBE_STRUCT(fdt);</span></a> <a name="346"><span class="lineNum"> 346 </span> : : </a> <a name="347"><span class="lineNum"> 347 </span> : : /* Add terminator */</a> -<a name="348"><span class="lineNum"> 348 </span> :<span class="lineCov"> 2 : end = fdt_grab_space_(fdt, sizeof(*end));</span></a> -<a name="349"><span class="lineNum"> 349 </span> :<span class="lineCov"> 2 : if (! end)</span></a> +<a name="348"><span class="lineNum"> 348 </span> :<span class="lineCov"> 1 : end = fdt_grab_space_(fdt, sizeof(*end));</span></a> +<a name="349"><span class="lineNum"> 349 </span> :<span class="lineCov"> 1 : if (! end)</span></a> <a name="350"><span class="lineNum"> 350 </span> :<span class="lineNoCov"> 0 : return -FDT_ERR_NOSPACE;</span></a> -<a name="351"><span class="lineNum"> 351 </span> :<span class="lineCov"> 2 : *end = cpu_to_fdt32(FDT_END);</span></a> +<a name="351"><span class="lineNum"> 351 </span> :<span class="lineCov"> 1 : *end = cpu_to_fdt32(FDT_END);</span></a> <a name="352"><span class="lineNum"> 352 </span> : : </a> <a name="353"><span class="lineNum"> 353 </span> : : /* Relocate the string table */</a> -<a name="354"><span class="lineNum"> 354 </span> :<span class="lineCov"> 2 : oldstroffset = fdt_totalsize(fdt) - fdt_size_dt_strings(fdt);</span></a> -<a name="355"><span class="lineNum"> 355 </span> :<span class="lineCov"> 2 : newstroffset = fdt_off_dt_struct(fdt) + fdt_size_dt_struct(fdt);</span></a> -<a name="356"><span class="lineNum"> 356 </span> :<span class="lineCov"> 2 : memmove(p + newstroffset, p + oldstroffset, fdt_size_dt_strings(fdt));</span></a> -<a name="357"><span class="lineNum"> 357 </span> :<span class="lineCov"> 2 : fdt_set_off_dt_strings(fdt, newstroffset);</span></a> +<a name="354"><span class="lineNum"> 354 </span> :<span class="lineCov"> 1 : oldstroffset = fdt_totalsize(fdt) - fdt_size_dt_strings(fdt);</span></a> +<a name="355"><span class="lineNum"> 355 </span> :<span class="lineCov"> 1 : newstroffset = fdt_off_dt_struct(fdt) + fdt_size_dt_struct(fdt);</span></a> +<a name="356"><span class="lineNum"> 356 </span> :<span class="lineCov"> 1 : memmove(p + newstroffset, p + oldstroffset, fdt_size_dt_strings(fdt));</span></a> +<a name="357"><span class="lineNum"> 357 </span> :<span class="lineCov"> 1 : fdt_set_off_dt_strings(fdt, newstroffset);</span></a> <a name="358"><span class="lineNum"> 358 </span> : : </a> <a name="359"><span class="lineNum"> 359 </span> : : /* Walk the structure, correcting string offsets */</a> -<a name="360"><span class="lineNum"> 360 </span> :<span class="lineCov"> 2 : offset = 0;</span></a> -<a name="361"><span class="lineNum"> 361 </span> :<span class="lineCov"> 3285 : while ((tag = fdt_next_tag(fdt, offset, &nextoffset)) != FDT_END) {</span></a> -<a name="362"><span class="lineNum"> 362 </span> :<span class="lineCov"> 3283 : if (tag == FDT_PROP) {</span></a> +<a name="360"><span class="lineNum"> 360 </span> :<span class="lineCov"> 1 : offset = 0;</span></a> +<a name="361"><span class="lineNum"> 361 </span> :<span class="lineCov"> 1007 : while ((tag = fdt_next_tag(fdt, offset, &nextoffset)) != FDT_END) {</span></a> +<a name="362"><span class="lineNum"> 362 </span> :<span class="lineCov"> 1006 : if (tag == FDT_PROP) {</span></a> <a name="363"><span class="lineNum"> 363 </span> : : struct fdt_property *prop =</a> -<a name="364"><span class="lineNum"> 364 </span> :<span class="lineCov"> 2811 : fdt_offset_ptr_w_(fdt, offset);</span></a> +<a name="364"><span class="lineNum"> 364 </span> :<span class="lineCov"> 846 : fdt_offset_ptr_w_(fdt, offset);</span></a> <a name="365"><span class="lineNum"> 365 </span> : : int nameoff;</a> <a name="366"><span class="lineNum"> 366 </span> : : </a> -<a name="367"><span class="lineNum"> 367 </span> :<span class="lineCov"> 2811 : nameoff = fdt32_to_cpu(prop->nameoff);</span></a> -<a name="368"><span class="lineNum"> 368 </span> :<span class="lineCov"> 2811 : nameoff += fdt_size_dt_strings(fdt);</span></a> -<a name="369"><span class="lineNum"> 369 </span> :<span class="lineCov"> 2811 : prop->nameoff = cpu_to_fdt32(nameoff);</span></a> +<a name="367"><span class="lineNum"> 367 </span> :<span class="lineCov"> 846 : nameoff = fdt32_to_cpu(prop->nameoff);</span></a> +<a name="368"><span class="lineNum"> 368 </span> :<span class="lineCov"> 846 : nameoff += fdt_size_dt_strings(fdt);</span></a> +<a name="369"><span class="lineNum"> 369 </span> :<span class="lineCov"> 846 : prop->nameoff = cpu_to_fdt32(nameoff);</span></a> <a name="370"><span class="lineNum"> 370 </span> : : }</a> -<a name="371"><span class="lineNum"> 371 </span> :<span class="lineCov"> 3283 : offset = nextoffset;</span></a> +<a name="371"><span class="lineNum"> 371 </span> :<span class="lineCov"> 1006 : offset = nextoffset;</span></a> <a name="372"><span class="lineNum"> 372 </span> : : }</a> -<a name="373"><span class="lineNum"> 373 </span> :<span class="lineCov"> 2 : if (nextoffset < 0)</span></a> +<a name="373"><span class="lineNum"> 373 </span> :<span class="lineCov"> 1 : if (nextoffset < 0)</span></a> <a name="374"><span class="lineNum"> 374 </span> :<span class="lineNoCov"> 0 : return nextoffset;</span></a> <a name="375"><span class="lineNum"> 375 </span> : : </a> <a name="376"><span class="lineNum"> 376 </span> : : /* Finally, adjust the header */</a> -<a name="377"><span class="lineNum"> 377 </span> :<span class="lineCov"> 2 : fdt_set_totalsize(fdt, newstroffset + fdt_size_dt_strings(fdt));</span></a> +<a name="377"><span class="lineNum"> 377 </span> :<span class="lineCov"> 1 : fdt_set_totalsize(fdt, newstroffset + fdt_size_dt_strings(fdt));</span></a> <a name="378"><span class="lineNum"> 378 </span> : : </a> <a name="379"><span class="lineNum"> 379 </span> : : /* And fix up fields that were keeping intermediate state. */</a> -<a name="380"><span class="lineNum"> 380 </span> :<span class="lineCov"> 2 : fdt_set_last_comp_version(fdt, FDT_LAST_COMPATIBLE_VERSION);</span></a> -<a name="381"><span class="lineNum"> 381 </span> :<span class="lineCov"> 2 : fdt_set_magic(fdt, FDT_MAGIC);</span></a> +<a name="380"><span class="lineNum"> 380 </span> :<span class="lineCov"> 1 : fdt_set_last_comp_version(fdt, FDT_LAST_COMPATIBLE_VERSION);</span></a> +<a name="381"><span class="lineNum"> 381 </span> :<span class="lineCov"> 1 : fdt_set_magic(fdt, FDT_MAGIC);</span></a> <a name="382"><span class="lineNum"> 382 </span> : : </a> -<a name="383"><span class="lineNum"> 383 </span> :<span class="lineCov"> 2 : return 0;</span></a> +<a name="383"><span class="lineNum"> 383 </span> :<span class="lineCov"> 1 : return 0;</span></a> <a name="384"><span class="lineNum"> 384 </span> : : }</a> </pre> </td> diff --git a/coverage-report/libfdt/index-sort-b.html b/coverage-report/libfdt/index-sort-b.html index 2dd25b5..01485a2 100644 --- a/coverage-report/libfdt/index-sort-b.html +++ b/coverage-report/libfdt/index-sort-b.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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="libfdt_internal.h.gcov.html">libfdt_internal.h</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="../ruby.png" width=43 height=10 alt="42.9%"><img src="../snow.png" width=57 height=10 alt="42.9%"></td></tr></table> + <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> </td> - <td class="coverPerLo">42.9 %</td> - <td class="coverNumLo">6 / 14</td> - <td class="coverPerLo">50.0 %</td> - <td class="coverNumLo">3 / 6</td> + <td class="coverPerLo">50.5 %</td> + <td class="coverNumLo">94 / 186</td> + <td class="coverPerLo">66.7 %</td> + <td class="coverNumLo">10 / 15</td> <td class="coverPerHi">-</td> <td class="coverNumHi">0 / 0</td> </tr> @@ -106,18 +106,6 @@ <td class="coverNumHi">0 / 0</td> </tr> <tr> - <td class="coverFile"><a href="libfdt.h.gcov.html">libfdt.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 %</td> - <td class="coverNumHi">20 / 20</td> - <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">12 / 12</td> - <td class="coverPerHi">-</td> - <td class="coverNumHi">0 / 0</td> - </tr> - <tr> <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="../snow.png" width=100 height=10 alt="0.0%"></td></tr></table> @@ -130,38 +118,50 @@ <td class="coverNumHi">0 / 0</td> </tr> <tr> - <td class="coverFile"><a href="libfdt_env.h.gcov.html">libfdt_env.h</a></td> + <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 %</td> + <td class="coverNumLo">126 / 178</td> + <td class="coverPerMed">83.3 %</td> + <td class="coverNumMed">15 / 18</td> + <td class="coverPerHi">-</td> + <td class="coverNumHi">0 / 0</td> + </tr> + <tr> + <td class="coverFile"><a href="libfdt.h.gcov.html">libfdt.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 %</td> - <td class="coverNumHi">8 / 8</td> + <td class="coverNumHi">20 / 20</td> <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">4 / 4</td> + <td class="coverNumHi">12 / 12</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="libfdt_env.h.gcov.html">libfdt_env.h</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> + <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">50.5 %</td> - <td class="coverNumLo">94 / 186</td> - <td class="coverPerLo">66.7 %</td> - <td class="coverNumLo">10 / 15</td> + <td class="coverPerHi">100.0 %</td> + <td class="coverNumHi">8 / 8</td> + <td class="coverPerHi">100.0 %</td> + <td class="coverNumHi">4 / 4</td> <td class="coverPerHi">-</td> <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="coverFile"><a href="libfdt_internal.h.gcov.html">libfdt_internal.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="70.8%"><img src="../snow.png" width=29 height=10 alt="70.8%"></td></tr></table> + <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../ruby.png" width=43 height=10 alt="42.9%"><img src="../snow.png" width=57 height=10 alt="42.9%"></td></tr></table> </td> - <td class="coverPerLo">70.8 %</td> - <td class="coverNumLo">126 / 178</td> - <td class="coverPerMed">83.3 %</td> - <td class="coverNumMed">15 / 18</td> + <td class="coverPerLo">42.9 %</td> + <td class="coverNumLo">6 / 14</td> + <td class="coverPerLo">50.0 %</td> + <td class="coverNumLo">3 / 6</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 9586d80..2718187 100644 --- a/coverage-report/libfdt/index-sort-f.html +++ b/coverage-report/libfdt/index-sort-f.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">47</td> diff --git a/coverage-report/libfdt/index-sort-l.html b/coverage-report/libfdt/index-sort-l.html index d0e2390..f7239f8 100644 --- a/coverage-report/libfdt/index-sort-l.html +++ b/coverage-report/libfdt/index-sort-l.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">47</td> diff --git a/coverage-report/libfdt/index.html b/coverage-report/libfdt/index.html index 9aec1e0..9b410dd 100644 --- a/coverage-report/libfdt/index.html +++ b/coverage-report/libfdt/index.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">47</td> diff --git a/coverage-report/libfdt/libfdt.h.func-sort-c.html b/coverage-report/libfdt/libfdt.h.func-sort-c.html index 9d9f049..dcc731f 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">12</td> @@ -70,51 +70,51 @@ </tr> <tr> <td class="coverFn"><a href="libfdt.h.gcov.html#268">fdt_set_off_mem_rsvmap</a></td> - <td class="coverFnHi">2</td> + <td class="coverFnHi">1</td> </tr> <tr> <td class="coverFn"><a href="libfdt.h.gcov.html#269">fdt_set_version</a></td> - <td class="coverFnHi">2</td> + <td class="coverFnHi">1</td> </tr> <tr> <td class="coverFn"><a href="libfdt.h.gcov.html#270">fdt_set_last_comp_version</a></td> - <td class="coverFnHi">4</td> + <td class="coverFnHi">2</td> </tr> <tr> <td class="coverFn"><a href="libfdt.h.gcov.html#264">fdt_set_magic</a></td> - <td class="coverFnHi">4</td> + <td class="coverFnHi">2</td> </tr> <tr> <td class="coverFn"><a href="libfdt.h.gcov.html#265">fdt_set_totalsize</a></td> - <td class="coverFnHi">4</td> + <td class="coverFnHi">2</td> </tr> <tr> <td class="coverFn"><a href="libfdt.h.gcov.html#267">fdt_set_off_dt_strings</a></td> - <td class="coverFnHi">6</td> + <td class="coverFnHi">3</td> </tr> <tr> <td class="coverFn"><a href="libfdt.h.gcov.html#266">fdt_set_off_dt_struct</a></td> - <td class="coverFnHi">10</td> - </tr> - <tr> - <td class="coverFn"><a href="libfdt.h.gcov.html#272">fdt_set_size_dt_strings</a></td> - <td class="coverFnHi">198</td> + <td class="coverFnHi">5</td> </tr> <tr> <td class="coverFn"><a href="libfdt.h.gcov.html#1483">fdt_property_cell</a></td> - <td class="coverFnHi">236</td> + <td class="coverFnHi">80</td> </tr> <tr> <td class="coverFn"><a href="libfdt.h.gcov.html#1471">fdt_property_u32</a></td> - <td class="coverFnHi">236</td> + <td class="coverFnHi">80</td> + </tr> + <tr> + <td class="coverFn"><a href="libfdt.h.gcov.html#272">fdt_set_size_dt_strings</a></td> + <td class="coverFnHi">99</td> </tr> <tr> <td class="coverFn"><a href="libfdt.h.gcov.html#273">fdt_set_size_dt_struct</a></td> - <td class="coverFnHi">3285</td> + <td class="coverFnHi">1007</td> </tr> <tr> <td class="coverFn"><a href="libfdt.h.gcov.html#139">fdt32_ld</a></td> - <td class="coverFnHi">119701</td> + <td class="coverFnHi">39510</td> </tr> </table> <br> diff --git a/coverage-report/libfdt/libfdt.h.func.html b/coverage-report/libfdt/libfdt.h.func.html index e028e8a..70616d9 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">12</td> @@ -70,51 +70,51 @@ </tr> <tr> <td class="coverFn"><a href="libfdt.h.gcov.html#139">fdt32_ld</a></td> - <td class="coverFnHi">119701</td> + <td class="coverFnHi">39510</td> </tr> <tr> <td class="coverFn"><a href="libfdt.h.gcov.html#1483">fdt_property_cell</a></td> - <td class="coverFnHi">236</td> + <td class="coverFnHi">80</td> </tr> <tr> <td class="coverFn"><a href="libfdt.h.gcov.html#1471">fdt_property_u32</a></td> - <td class="coverFnHi">236</td> + <td class="coverFnHi">80</td> </tr> <tr> <td class="coverFn"><a href="libfdt.h.gcov.html#270">fdt_set_last_comp_version</a></td> - <td class="coverFnHi">4</td> + <td class="coverFnHi">2</td> </tr> <tr> <td class="coverFn"><a href="libfdt.h.gcov.html#264">fdt_set_magic</a></td> - <td class="coverFnHi">4</td> + <td class="coverFnHi">2</td> </tr> <tr> <td class="coverFn"><a href="libfdt.h.gcov.html#267">fdt_set_off_dt_strings</a></td> - <td class="coverFnHi">6</td> + <td class="coverFnHi">3</td> </tr> <tr> <td class="coverFn"><a href="libfdt.h.gcov.html#266">fdt_set_off_dt_struct</a></td> - <td class="coverFnHi">10</td> + <td class="coverFnHi">5</td> </tr> <tr> <td class="coverFn"><a href="libfdt.h.gcov.html#268">fdt_set_off_mem_rsvmap</a></td> - <td class="coverFnHi">2</td> + <td class="coverFnHi">1</td> </tr> <tr> <td class="coverFn"><a href="libfdt.h.gcov.html#272">fdt_set_size_dt_strings</a></td> - <td class="coverFnHi">198</td> + <td class="coverFnHi">99</td> </tr> <tr> <td class="coverFn"><a href="libfdt.h.gcov.html#273">fdt_set_size_dt_struct</a></td> - <td class="coverFnHi">3285</td> + <td class="coverFnHi">1007</td> </tr> <tr> <td class="coverFn"><a href="libfdt.h.gcov.html#265">fdt_set_totalsize</a></td> - <td class="coverFnHi">4</td> + <td class="coverFnHi">2</td> </tr> <tr> <td class="coverFn"><a href="libfdt.h.gcov.html#269">fdt_set_version</a></td> - <td class="coverFnHi">2</td> + <td class="coverFnHi">1</td> </tr> </table> <br> diff --git a/coverage-report/libfdt/libfdt.h.gcov.html b/coverage-report/libfdt/libfdt.h.gcov.html index fde93bc..71305f0 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">12</td> @@ -209,14 +209,14 @@ <a name="138"><span class="lineNum"> 138 </span> : : return ((uint16_t)bp[0] << 8) | bp[1];</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> :<span class="lineCov"> 119701 : static inline uint32_t fdt32_ld(const fdt32_t *p)</span></a> +<a name="141"><span class="lineNum"> 141 </span> :<span class="lineCov"> 39510 : static inline uint32_t fdt32_ld(const fdt32_t *p)</span></a> <a name="142"><span class="lineNum"> 142 </span> : : {</a> -<a name="143"><span class="lineNum"> 143 </span> :<span class="lineCov"> 119701 : const uint8_t *bp = (const uint8_t *)p;</span></a> +<a name="143"><span class="lineNum"> 143 </span> :<span class="lineCov"> 39510 : const uint8_t *bp = (const uint8_t *)p;</span></a> <a name="144"><span class="lineNum"> 144 </span> : : </a> -<a name="145"><span class="lineNum"> 145 </span> :<span class="lineCov"> 119701 : return ((uint32_t)bp[0] << 24)</span></a> -<a name="146"><span class="lineNum"> 146 </span> :<span class="lineCov"> 119701 : | ((uint32_t)bp[1] << 16)</span></a> -<a name="147"><span class="lineNum"> 147 </span> :<span class="lineCov"> 119701 : | ((uint32_t)bp[2] << 8)</span></a> -<a name="148"><span class="lineNum"> 148 </span> :<span class="lineCov"> 119701 : | bp[3];</span></a> +<a name="145"><span class="lineNum"> 145 </span> :<span class="lineCov"> 39510 : return ((uint32_t)bp[0] << 24)</span></a> +<a name="146"><span class="lineNum"> 146 </span> :<span class="lineCov"> 39510 : | ((uint32_t)bp[1] << 16)</span></a> +<a name="147"><span class="lineNum"> 147 </span> :<span class="lineCov"> 39510 : | ((uint32_t)bp[2] << 8)</span></a> +<a name="148"><span class="lineNum"> 148 </span> :<span class="lineCov"> 39510 : | bp[3];</span></a> <a name="149"><span class="lineNum"> 149 </span> : : }</a> <a name="150"><span class="lineNum"> 150 </span> : : </a> <a name="151"><span class="lineNum"> 151 </span> : : static inline void fdt32_st(void *property, uint32_t value)</a> @@ -334,16 +334,16 @@ <a name="263"><span class="lineNum"> 263 </span> : : struct fdt_header *fdth = (struct fdt_header *)fdt; \</a> <a name="264"><span class="lineNum"> 264 </span> : : fdth->name = cpu_to_fdt32(val); \</a> <a name="265"><span class="lineNum"> 265 </span> : : }</a> -<a name="266"><span class="lineNum"> 266 </span> :<span class="lineCov"> 4 : fdt_set_hdr_(magic);</span></a> -<a name="267"><span class="lineNum"> 267 </span> :<span class="lineCov"> 4 : fdt_set_hdr_(totalsize);</span></a> -<a name="268"><span class="lineNum"> 268 </span> :<span class="lineCov"> 10 : fdt_set_hdr_(off_dt_struct);</span></a> -<a name="269"><span class="lineNum"> 269 </span> :<span class="lineCov"> 6 : fdt_set_hdr_(off_dt_strings);</span></a> -<a name="270"><span class="lineNum"> 270 </span> :<span class="lineCov"> 2 : fdt_set_hdr_(off_mem_rsvmap);</span></a> -<a name="271"><span class="lineNum"> 271 </span> :<span class="lineCov"> 2 : fdt_set_hdr_(version);</span></a> -<a name="272"><span class="lineNum"> 272 </span> :<span class="lineCov"> 4 : fdt_set_hdr_(last_comp_version);</span></a> +<a name="266"><span class="lineNum"> 266 </span> :<span class="lineCov"> 2 : fdt_set_hdr_(magic);</span></a> +<a name="267"><span class="lineNum"> 267 </span> :<span class="lineCov"> 2 : fdt_set_hdr_(totalsize);</span></a> +<a name="268"><span class="lineNum"> 268 </span> :<span class="lineCov"> 5 : fdt_set_hdr_(off_dt_struct);</span></a> +<a name="269"><span class="lineNum"> 269 </span> :<span class="lineCov"> 3 : fdt_set_hdr_(off_dt_strings);</span></a> +<a name="270"><span class="lineNum"> 270 </span> :<span class="lineCov"> 1 : fdt_set_hdr_(off_mem_rsvmap);</span></a> +<a name="271"><span class="lineNum"> 271 </span> :<span class="lineCov"> 1 : fdt_set_hdr_(version);</span></a> +<a name="272"><span class="lineNum"> 272 </span> :<span class="lineCov"> 2 : fdt_set_hdr_(last_comp_version);</span></a> <a name="273"><span class="lineNum"> 273 </span> : : fdt_set_hdr_(boot_cpuid_phys);</a> -<a name="274"><span class="lineNum"> 274 </span> :<span class="lineCov"> 198 : fdt_set_hdr_(size_dt_strings);</span></a> -<a name="275"><span class="lineNum"> 275 </span> :<span class="lineCov"> 3285 : fdt_set_hdr_(size_dt_struct);</span></a> +<a name="274"><span class="lineNum"> 274 </span> :<span class="lineCov"> 99 : fdt_set_hdr_(size_dt_strings);</span></a> +<a name="275"><span class="lineNum"> 275 </span> :<span class="lineCov"> 1007 : fdt_set_hdr_(size_dt_struct);</span></a> <a name="276"><span class="lineNum"> 276 </span> : : #undef fdt_set_hdr_</a> <a name="277"><span class="lineNum"> 277 </span> : : </a> <a name="278"><span class="lineNum"> 278 </span> : : /**</a> @@ -1541,10 +1541,10 @@ <a name="1470"><span class="lineNum"> 1470 </span> : : int fdt_finish_reservemap(void *fdt);</a> <a name="1471"><span class="lineNum"> 1471 </span> : : int fdt_begin_node(void *fdt, const char *name);</a> <a name="1472"><span class="lineNum"> 1472 </span> : : int fdt_property(void *fdt, const char *name, const void *val, int len);</a> -<a name="1473"><span class="lineNum"> 1473 </span> :<span class="lineCov"> 236 : static inline int fdt_property_u32(void *fdt, const char *name, uint32_t val)</span></a> +<a name="1473"><span class="lineNum"> 1473 </span> :<span class="lineCov"> 80 : static inline int fdt_property_u32(void *fdt, const char *name, uint32_t val)</span></a> <a name="1474"><span class="lineNum"> 1474 </span> : : {</a> -<a name="1475"><span class="lineNum"> 1475 </span> :<span class="lineCov"> 236 : fdt32_t tmp = cpu_to_fdt32(val);</span></a> -<a name="1476"><span class="lineNum"> 1476 </span> :<span class="lineCov"> 236 : return fdt_property(fdt, name, &tmp, sizeof(tmp));</span></a> +<a name="1475"><span class="lineNum"> 1475 </span> :<span class="lineCov"> 80 : fdt32_t tmp = cpu_to_fdt32(val);</span></a> +<a name="1476"><span class="lineNum"> 1476 </span> :<span class="lineCov"> 80 : return fdt_property(fdt, name, &tmp, sizeof(tmp));</span></a> <a name="1477"><span class="lineNum"> 1477 </span> : : }</a> <a name="1478"><span class="lineNum"> 1478 </span> : : static inline int fdt_property_u64(void *fdt, const char *name, uint64_t val)</a> <a name="1479"><span class="lineNum"> 1479 </span> : : {</a> @@ -1553,9 +1553,9 @@ <a name="1482"><span class="lineNum"> 1482 </span> : : }</a> <a name="1483"><span class="lineNum"> 1483 </span> : : </a> <a name="1484"><span class="lineNum"> 1484 </span> : : #ifndef SWIG /* Not available in Python */</a> -<a name="1485"><span class="lineNum"> 1485 </span> :<span class="lineCov"> 236 : static inline int fdt_property_cell(void *fdt, const char *name, uint32_t val)</span></a> +<a name="1485"><span class="lineNum"> 1485 </span> :<span class="lineCov"> 80 : static inline int fdt_property_cell(void *fdt, const char *name, uint32_t val)</span></a> <a name="1486"><span class="lineNum"> 1486 </span> : : {</a> -<a name="1487"><span class="lineNum"> 1487 </span> :<span class="lineCov"> 236 : return fdt_property_u32(fdt, name, val);</span></a> +<a name="1487"><span class="lineNum"> 1487 </span> :<span class="lineCov"> 80 : return fdt_property_u32(fdt, name, val);</span></a> <a name="1488"><span class="lineNum"> 1488 </span> : : }</a> <a name="1489"><span class="lineNum"> 1489 </span> : : #endif</a> <a name="1490"><span class="lineNum"> 1490 </span> : : </a> 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 43193b9..d2e3ca3 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">4</td> @@ -74,15 +74,15 @@ </tr> <tr> <td class="coverFn"><a href="libfdt_env.h.gcov.html#58">cpu_to_fdt64</a></td> - <td class="coverFnHi">116</td> + <td class="coverFnHi">68</td> </tr> <tr> <td class="coverFn"><a href="libfdt_env.h.gcov.html#45">fdt32_to_cpu</a></td> - <td class="coverFnHi">9349</td> + <td class="coverFnHi">3003</td> </tr> <tr> <td class="coverFn"><a href="libfdt_env.h.gcov.html#49">cpu_to_fdt32</a></td> - <td class="coverFnHi">19861</td> + <td class="coverFnHi">7245</td> </tr> </table> <br> diff --git a/coverage-report/libfdt/libfdt_env.h.func.html b/coverage-report/libfdt/libfdt_env.h.func.html index d35b92c..b9ff696 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">4</td> @@ -70,15 +70,15 @@ </tr> <tr> <td class="coverFn"><a href="libfdt_env.h.gcov.html#49">cpu_to_fdt32</a></td> - <td class="coverFnHi">19861</td> + <td class="coverFnHi">7245</td> </tr> <tr> <td class="coverFn"><a href="libfdt_env.h.gcov.html#58">cpu_to_fdt64</a></td> - <td class="coverFnHi">116</td> + <td class="coverFnHi">68</td> </tr> <tr> <td class="coverFn"><a href="libfdt_env.h.gcov.html#45">fdt32_to_cpu</a></td> - <td class="coverFnHi">9349</td> + <td class="coverFnHi">3003</td> </tr> <tr> <td class="coverFn"><a href="libfdt_env.h.gcov.html#54">fdt64_to_cpu</a></td> diff --git a/coverage-report/libfdt/libfdt_env.h.gcov.html b/coverage-report/libfdt/libfdt_env.h.gcov.html index f9d38d8..56f7c9f 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">4</td> @@ -115,22 +115,22 @@ <a name="44"><span class="lineNum"> 44 </span> : : return (FDT_FORCE fdt16_t)CPU_TO_FDT16(x);</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> :<span class="lineCov"> 9349 : static inline uint32_t fdt32_to_cpu(fdt32_t x)</span></a> +<a name="47"><span class="lineNum"> 47 </span> :<span class="lineCov"> 3003 : static inline uint32_t fdt32_to_cpu(fdt32_t x)</span></a> <a name="48"><span class="lineNum"> 48 </span> : : {</a> -<a name="49"><span class="lineNum"> 49 </span> :<span class="lineCov"> 9349 : return (FDT_FORCE uint32_t)CPU_TO_FDT32(x);</span></a> +<a name="49"><span class="lineNum"> 49 </span> :<span class="lineCov"> 3003 : return (FDT_FORCE uint32_t)CPU_TO_FDT32(x);</span></a> <a name="50"><span class="lineNum"> 50 </span> : : }</a> -<a name="51"><span class="lineNum"> 51 </span> :<span class="lineCov"> 19861 : static inline fdt32_t cpu_to_fdt32(uint32_t x)</span></a> +<a name="51"><span class="lineNum"> 51 </span> :<span class="lineCov"> 7245 : static inline fdt32_t cpu_to_fdt32(uint32_t x)</span></a> <a name="52"><span class="lineNum"> 52 </span> : : {</a> -<a name="53"><span class="lineNum"> 53 </span> :<span class="lineCov"> 19861 : return (FDT_FORCE fdt32_t)CPU_TO_FDT32(x);</span></a> +<a name="53"><span class="lineNum"> 53 </span> :<span class="lineCov"> 7245 : return (FDT_FORCE fdt32_t)CPU_TO_FDT32(x);</span></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> :<span class="lineCov"> 3 : static inline uint64_t fdt64_to_cpu(fdt64_t x)</span></a> <a name="57"><span class="lineNum"> 57 </span> : : {</a> <a name="58"><span class="lineNum"> 58 </span> :<span class="lineCov"> 3 : return (FDT_FORCE uint64_t)CPU_TO_FDT64(x);</span></a> <a name="59"><span class="lineNum"> 59 </span> : : }</a> -<a name="60"><span class="lineNum"> 60 </span> :<span class="lineCov"> 116 : static inline fdt64_t cpu_to_fdt64(uint64_t x)</span></a> +<a name="60"><span class="lineNum"> 60 </span> :<span class="lineCov"> 68 : static inline fdt64_t cpu_to_fdt64(uint64_t x)</span></a> <a name="61"><span class="lineNum"> 61 </span> : : {</a> -<a name="62"><span class="lineNum"> 62 </span> :<span class="lineCov"> 116 : return (FDT_FORCE fdt64_t)CPU_TO_FDT64(x);</span></a> +<a name="62"><span class="lineNum"> 62 </span> :<span class="lineCov"> 68 : return (FDT_FORCE fdt64_t)CPU_TO_FDT64(x);</span></a> <a name="63"><span class="lineNum"> 63 </span> : : }</a> <a name="64"><span class="lineNum"> 64 </span> : : #undef CPU_TO_FDT64</a> <a name="65"><span class="lineNum"> 65 </span> : : #undef CPU_TO_FDT32</a> 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 50dc647..60848ee 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">3</td> @@ -82,15 +82,15 @@ </tr> <tr> <td class="coverFn"><a href="libfdt_internal.h.gcov.html#29">fdt_offset_ptr_w_</a></td> - <td class="coverFnHi">6096</td> + <td class="coverFnHi">1853</td> </tr> <tr> <td class="coverFn"><a href="libfdt_internal.h.gcov.html#24">fdt_offset_ptr_</a></td> - <td class="coverFnHi">20456</td> + <td class="coverFnHi">6752</td> </tr> <tr> <td class="coverFn"><a href="libfdt_internal.h.gcov.html#182">can_assume_</a></td> - <td class="coverFnHi">44772</td> + <td class="coverFnHi">14878</td> </tr> </table> <br> diff --git a/coverage-report/libfdt/libfdt_internal.h.func.html b/coverage-report/libfdt/libfdt_internal.h.func.html index b89230d..e9ed5fd 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">3</td> @@ -70,7 +70,7 @@ </tr> <tr> <td class="coverFn"><a href="libfdt_internal.h.gcov.html#182">can_assume_</a></td> - <td class="coverFnHi">44772</td> + <td class="coverFnHi">14878</td> </tr> <tr> <td class="coverFn"><a href="libfdt_internal.h.gcov.html#56">fdt32_ld_</a></td> @@ -86,11 +86,11 @@ </tr> <tr> <td class="coverFn"><a href="libfdt_internal.h.gcov.html#24">fdt_offset_ptr_</a></td> - <td class="coverFnHi">20456</td> + <td class="coverFnHi">6752</td> </tr> <tr> <td class="coverFn"><a href="libfdt_internal.h.gcov.html#29">fdt_offset_ptr_w_</a></td> - <td class="coverFnHi">6096</td> + <td class="coverFnHi">1853</td> </tr> </table> <br> diff --git a/coverage-report/libfdt/libfdt_internal.h.gcov.html b/coverage-report/libfdt/libfdt_internal.h.gcov.html index c994f6f..59a9e78 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">3</td> @@ -94,14 +94,14 @@ <a name="23"><span class="lineNum"> 23 </span> : : const char *fdt_find_string_(const char *strtab, int tabsize, const char *s);</a> <a name="24"><span class="lineNum"> 24 </span> : : int fdt_node_end_offset_(void *fdt, int nodeoffset);</a> <a name="25"><span class="lineNum"> 25 </span> : : </a> -<a name="26"><span class="lineNum"> 26 </span> :<span class="lineCov"> 20456 : static inline const void *fdt_offset_ptr_(const void *fdt, int offset)</span></a> +<a name="26"><span class="lineNum"> 26 </span> :<span class="lineCov"> 6752 : static inline const void *fdt_offset_ptr_(const void *fdt, int offset)</span></a> <a name="27"><span class="lineNum"> 27 </span> : : {</a> -<a name="28"><span class="lineNum"> 28 </span> :<span class="lineCov"> 20456 : return (const char *)fdt + fdt_off_dt_struct(fdt) + offset;</span></a> +<a name="28"><span class="lineNum"> 28 </span> :<span class="lineCov"> 6752 : return (const char *)fdt + fdt_off_dt_struct(fdt) + offset;</span></a> <a name="29"><span class="lineNum"> 29 </span> : : }</a> <a name="30"><span class="lineNum"> 30 </span> : : </a> -<a name="31"><span class="lineNum"> 31 </span> :<span class="lineCov"> 6096 : static inline void *fdt_offset_ptr_w_(void *fdt, int offset)</span></a> +<a name="31"><span class="lineNum"> 31 </span> :<span class="lineCov"> 1853 : static inline void *fdt_offset_ptr_w_(void *fdt, int offset)</span></a> <a name="32"><span class="lineNum"> 32 </span> : : {</a> -<a name="33"><span class="lineNum"> 33 </span> :<span class="lineCov"> 6096 : return (void *)(uintptr_t)fdt_offset_ptr_(fdt, offset);</span></a> +<a name="33"><span class="lineNum"> 33 </span> :<span class="lineCov"> 1853 : return (void *)(uintptr_t)fdt_offset_ptr_(fdt, offset);</span></a> <a name="34"><span class="lineNum"> 34 </span> : : }</a> <a name="35"><span class="lineNum"> 35 </span> : : </a> <a name="36"><span class="lineNum"> 36 </span> :<span class="lineNoCov"> 0 : static inline const struct fdt_reserve_entry *fdt_mem_rsv_(const void *fdt, int n)</span></a> @@ -252,9 +252,9 @@ <a name="181"><span class="lineNum"> 181 </span> : : * @mask: Mask to check (ASSUME_...)</a> <a name="182"><span class="lineNum"> 182 </span> : : * @return true if that assumption is enabled, else false</a> <a name="183"><span class="lineNum"> 183 </span> : : */</a> -<a name="184"><span class="lineNum"> 184 </span> :<span class="lineCov"> 44772 : static inline bool can_assume_(int mask)</span></a> +<a name="184"><span class="lineNum"> 184 </span> :<span class="lineCov"> 14878 : static inline bool can_assume_(int mask)</span></a> <a name="185"><span class="lineNum"> 185 </span> : : {</a> -<a name="186"><span class="lineNum"> 186 </span> :<span class="lineCov"> 44772 : return FDT_ASSUME_MASK & mask;</span></a> +<a name="186"><span class="lineNum"> 186 </span> :<span class="lineCov"> 14878 : return FDT_ASSUME_MASK & mask;</span></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> : : /** helper macros for checking assumptions */</a> diff --git a/coverage-report/libflash/blocklevel.c.func-sort-c.html b/coverage-report/libflash/blocklevel.c.func-sort-c.html index 99bd88e..7186f74 100644 --- a/coverage-report/libflash/blocklevel.c.func-sort-c.html +++ b/coverage-report/libflash/blocklevel.c.func-sort-c.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">14</td> diff --git a/coverage-report/libflash/blocklevel.c.func.html b/coverage-report/libflash/blocklevel.c.func.html index 27fdf18..c9c0699 100644 --- a/coverage-report/libflash/blocklevel.c.func.html +++ b/coverage-report/libflash/blocklevel.c.func.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">14</td> diff --git a/coverage-report/libflash/blocklevel.c.gcov.html b/coverage-report/libflash/blocklevel.c.gcov.html index 14f30eb..e64e557 100644 --- a/coverage-report/libflash/blocklevel.c.gcov.html +++ b/coverage-report/libflash/blocklevel.c.gcov.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">14</td> diff --git a/coverage-report/libflash/ecc.c.func-sort-c.html b/coverage-report/libflash/ecc.c.func-sort-c.html index f8d5ed4..bb0689e 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">13</td> diff --git a/coverage-report/libflash/ecc.c.func.html b/coverage-report/libflash/ecc.c.func.html index eaead65..91db354 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">13</td> diff --git a/coverage-report/libflash/ecc.c.gcov.html b/coverage-report/libflash/ecc.c.gcov.html index 78a59d5..d36b531 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">13</td> diff --git a/coverage-report/libflash/ecc.h.func-sort-c.html b/coverage-report/libflash/ecc.h.func-sort-c.html index 5bacd7f..f9a837d 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 4c791a7..689a9d8 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 fc7dc81..0b42d7c 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 a7514ca..f92ab82 100644 --- a/coverage-report/libflash/file.c.func-sort-c.html +++ b/coverage-report/libflash/file.c.func-sort-c.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">9</td> diff --git a/coverage-report/libflash/file.c.func.html b/coverage-report/libflash/file.c.func.html index 9a0b832..56a3e88 100644 --- a/coverage-report/libflash/file.c.func.html +++ b/coverage-report/libflash/file.c.func.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">9</td> diff --git a/coverage-report/libflash/file.c.gcov.html b/coverage-report/libflash/file.c.gcov.html index 65ba958..6035f0c 100644 --- a/coverage-report/libflash/file.c.gcov.html +++ b/coverage-report/libflash/file.c.gcov.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">9</td> diff --git a/coverage-report/libflash/index-sort-b.html b/coverage-report/libflash/index-sort-b.html index 6986979..7b91aa9 100644 --- a/coverage-report/libflash/index-sort-b.html +++ b/coverage-report/libflash/index-sort-b.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">145</td> @@ -82,38 +82,50 @@ <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="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=48 height=10 alt="48.4%"><img src="../snow.png" width=52 height=10 alt="48.4%"></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">48.4 %</td> - <td class="coverNumLo">208 / 430</td> - <td class="coverPerLo">60.7 %</td> - <td class="coverNumLo">17 / 28</td> + <td class="coverPerLo">51.9 %</td> + <td class="coverNumLo">240 / 462</td> + <td class="coverPerMed">75.0 %</td> + <td class="coverNumMed">18 / 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="coverFile"><a href="mbox-flash.c.gcov.html">mbox-flash.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=74 height=10 alt="74.0%"><img src="../snow.png" width=26 height=10 alt="74.0%"></td></tr></table> </td> - <td class="coverPerMed">89.7 %</td> - <td class="coverNumMed">105 / 117</td> - <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">13 / 13</td> + <td class="coverPerLo">74.0 %</td> + <td class="coverNumLo">348 / 470</td> + <td class="coverPerHi">93.8 %</td> + <td class="coverNumHi">45 / 48</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="../ruby.png" width=52 height=10 alt="51.9%"><img src="../snow.png" width=48 height=10 alt="51.9%"></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">48.4 %</td> + <td class="coverNumLo">208 / 430</td> + <td class="coverPerLo">60.7 %</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="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> </td> - <td class="coverPerLo">51.9 %</td> - <td class="coverNumLo">240 / 462</td> <td class="coverPerMed">75.0 %</td> - <td class="coverNumMed">18 / 24</td> + <td class="coverNumMed">6 / 8</td> + <td class="coverPerMed">75.0 %</td> + <td class="coverNumMed">3 / 4</td> <td class="coverPerHi">-</td> <td class="coverNumHi">0 / 0</td> </tr> @@ -130,6 +142,18 @@ <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="../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="coverPerMed">89.7 %</td> + <td class="coverNumMed">105 / 117</td> + <td class="coverPerHi">100.0 %</td> + <td class="coverNumHi">13 / 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="coverBar" align="center"> <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> @@ -153,30 +177,6 @@ <td class="coverPerHi">-</td> <td class="coverNumHi">0 / 0</td> </tr> - <tr> - <td class="coverFile"><a href="mbox-flash.c.gcov.html">mbox-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=74 height=10 alt="74.0%"><img src="../snow.png" width=26 height=10 alt="74.0%"></td></tr></table> - </td> - <td class="coverPerLo">74.0 %</td> - <td class="coverNumLo">348 / 470</td> - <td class="coverPerHi">93.8 %</td> - <td class="coverNumHi">45 / 48</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="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> - </td> - <td class="coverPerMed">75.0 %</td> - <td class="coverNumMed">6 / 8</td> - <td class="coverPerMed">75.0 %</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/libflash/index-sort-f.html b/coverage-report/libflash/index-sort-f.html index 59dd2cb..a6dec54 100644 --- a/coverage-report/libflash/index-sort-f.html +++ b/coverage-report/libflash/index-sort-f.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">145</td> diff --git a/coverage-report/libflash/index-sort-l.html b/coverage-report/libflash/index-sort-l.html index 574ea92..76504ee 100644 --- a/coverage-report/libflash/index-sort-l.html +++ b/coverage-report/libflash/index-sort-l.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">145</td> diff --git a/coverage-report/libflash/index.html b/coverage-report/libflash/index.html index 94e5bce..0598537 100644 --- a/coverage-report/libflash/index.html +++ b/coverage-report/libflash/index.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">145</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 8b7de0c..a22a3b3 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 b005573..cd69061 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 b13faa0..661449d 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 c9435f0..b87dbe2 100644 --- a/coverage-report/libflash/libffs.c.func-sort-c.html +++ b/coverage-report/libflash/libffs.c.func-sort-c.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">17</td> diff --git a/coverage-report/libflash/libffs.c.func.html b/coverage-report/libflash/libffs.c.func.html index 7d848cc..b5ab1b4 100644 --- a/coverage-report/libflash/libffs.c.func.html +++ b/coverage-report/libflash/libffs.c.func.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">17</td> diff --git a/coverage-report/libflash/libffs.c.gcov.html b/coverage-report/libflash/libffs.c.gcov.html index 2f2f9b1..dcab014 100644 --- a/coverage-report/libflash/libffs.c.gcov.html +++ b/coverage-report/libflash/libffs.c.gcov.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">17</td> diff --git a/coverage-report/libflash/libflash.c.func-sort-c.html b/coverage-report/libflash/libflash.c.func-sort-c.html index 6a2e2a6..377594c 100644 --- a/coverage-report/libflash/libflash.c.func-sort-c.html +++ b/coverage-report/libflash/libflash.c.func-sort-c.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 0fd62b2..635350a 100644 --- a/coverage-report/libflash/libflash.c.func.html +++ b/coverage-report/libflash/libflash.c.func.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 d280a61..db1f322 100644 --- a/coverage-report/libflash/libflash.c.gcov.html +++ b/coverage-report/libflash/libflash.c.gcov.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">18</td> 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 981cebc..cd87bab 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 c684949..d806a4a 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 c44ddbd..0f70587 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">45</td> diff --git a/coverage-report/libflash/test/index-sort-b.html b/coverage-report/libflash/test/index-sort-b.html index 7ae7852..24e4a4b 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">123</td> @@ -82,6 +82,18 @@ <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="mbox-server.c.gcov.html">mbox-server.c</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="83.3%"><img src="../../snow.png" width=17 height=10 alt="83.3%"></td></tr></table> + </td> + <td class="coverPerMed">83.3 %</td> + <td class="coverNumMed">239 / 287</td> + <td class="coverPerHi">100.0 %</td> + <td class="coverNumHi">21 / 21</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> @@ -106,14 +118,14 @@ <td class="coverNumHi">0 / 0</td> </tr> <tr> - <td class="coverFile"><a href="test-mbox.c.gcov.html">test-mbox.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=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=67 height=10 alt="66.5%"><img src="../../snow.png" width=33 height=10 alt="66.5%"></td></tr></table> </td> - <td class="coverPerLo">61.8 %</td> - <td class="coverNumLo">94 / 152</td> + <td class="coverPerLo">66.5 %</td> + <td class="coverNumLo">173 / 260</td> <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">3 / 3</td> + <td class="coverNumHi">11 / 11</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-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=41 height=10 alt="40.8%"><img src="../../snow.png" width=59 height=10 alt="40.8%"></td></tr></table> - </td> - <td class="coverPerLo">40.8 %</td> - <td class="coverNumLo">160 / 392</td> - <td class="coverPerLo">60.0 %</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-mbox.c.gcov.html">test-mbox.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="../../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">66.5 %</td> - <td class="coverNumLo">173 / 260</td> + <td class="coverPerLo">61.8 %</td> + <td class="coverNumLo">94 / 152</td> <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">11 / 11</td> + <td class="coverNumHi">3 / 3</td> <td class="coverPerHi">-</td> <td class="coverNumHi">0 / 0</td> </tr> <tr> - <td class="coverFile"><a href="mbox-server.c.gcov.html">mbox-server.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="../../amber.png" width=83 height=10 alt="83.3%"><img src="../../snow.png" width=17 height=10 alt="83.3%"></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="coverPerMed">83.3 %</td> - <td class="coverNumMed">239 / 287</td> - <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">21 / 21</td> + <td class="coverPerLo">40.8 %</td> + <td class="coverNumLo">160 / 392</td> + <td class="coverPerLo">60.0 %</td> + <td class="coverNumLo">6 / 10</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 236db98..2da1d08 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">123</td> diff --git a/coverage-report/libflash/test/index-sort-l.html b/coverage-report/libflash/test/index-sort-l.html index d400020..4c4eb65 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">123</td> diff --git a/coverage-report/libflash/test/index.html b/coverage-report/libflash/test/index.html index 3dd6416..69c8b12 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">123</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 eb977fe..01e7b51 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">21</td> diff --git a/coverage-report/libflash/test/mbox-server.c.func.html b/coverage-report/libflash/test/mbox-server.c.func.html index dd76f1a..53b2a39 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">21</td> diff --git a/coverage-report/libflash/test/mbox-server.c.gcov.html b/coverage-report/libflash/test/mbox-server.c.gcov.html index 4f9d522..be437c2 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">21</td> 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 d6cee8d..db0ae84 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 02665de..3f09cef 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 a6ec768..0c21be7 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 863cafb..14d97c2 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 925ad13..1e38593 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 8a299db..ea0ed90 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 1160942..630de7a 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 078eba3..8f700af 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 26ba6d6..83d49ab 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 dd499dc..56f22f7 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 5715e55..2511893 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 3028fd1..720ed30 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 949165f..e176680 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">71</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 876e067..1996e6b 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">71</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 494f945..f05c1e0 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">71</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 a2eeca9..df9d312 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 38049e4..4493a9f 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 416d795..063aef0 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">3</td> diff --git a/coverage-report/libstb/container.c.func-sort-c.html b/coverage-report/libstb/container.c.func-sort-c.html index 2ea10ec..f44449b 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 aa87c78..6b048cd 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 f55ec95..b9738d2 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 111ac41..862ef6e 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 5745c59..6e5a21e 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 5b045fd..ac4c4ab 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 b878ce5..64265df 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 c161d5e..c5176a2 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 770eb4e..544b812 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 cc1df35..3eee54e 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 a10760d..112c821 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 e9fd64c..7c3b78d 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 f42c159..027c0b9 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 14c74b9..aad5a7d 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 bb9ef82..e087dfc 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 @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 8237df2..61d22a3 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 @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 063f328..5c57ad5 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 @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">20</td> 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 dd670e2..194423b 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 c5f7a7f..327327a 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 9929ce6..b1ea5c8 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 d8641fd..3ef6687 100644 --- a/coverage-report/libstb/secvar/backend/index-sort-b.html +++ b/coverage-report/libstb/secvar/backend/index-sort-b.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">24</td> diff --git a/coverage-report/libstb/secvar/backend/index-sort-f.html b/coverage-report/libstb/secvar/backend/index-sort-f.html index d2ec067..957d7b9 100644 --- a/coverage-report/libstb/secvar/backend/index-sort-f.html +++ b/coverage-report/libstb/secvar/backend/index-sort-f.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">24</td> diff --git a/coverage-report/libstb/secvar/backend/index-sort-l.html b/coverage-report/libstb/secvar/backend/index-sort-l.html index f55c1a9..44fb70b 100644 --- a/coverage-report/libstb/secvar/backend/index-sort-l.html +++ b/coverage-report/libstb/secvar/backend/index-sort-l.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">24</td> diff --git a/coverage-report/libstb/secvar/backend/index.html b/coverage-report/libstb/secvar/backend/index.html index 7c74e30..f049341 100644 --- a/coverage-report/libstb/secvar/backend/index.html +++ b/coverage-report/libstb/secvar/backend/index.html @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">24</td> diff --git a/coverage-report/libstb/secvar/index-sort-b.html b/coverage-report/libstb/secvar/index-sort-b.html index 5d7c019..e5f4a82 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 b66709d..1cb8ce7 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 9bc833e..dc30723 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 b998bc3..9a3e77e 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 9379901..cc165fd 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 fbd873c..71d4413 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 afdbbbd..979bc30 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 59e4d62..f0063dc 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 8fdf0e3..4d357e9 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 e9ae2f5..d5d3db4 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 dd18e31..f4fd86d 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 60bb6f1..41b9653 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 9bc54a9..8dd5662 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 454a26d..a114364 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">18</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="secboot_tpm.c.gcov.html">secboot_tpm.c</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="45.4%"><img src="../../../snow.png" width=55 height=10 alt="45.4%"></td></tr></table> - </td> - <td class="coverPerLo">45.4 %</td> - <td class="coverNumLo">162 / 357</td> - <td class="coverPerLo">68.4 %</td> - <td class="coverNumLo">13 / 19</td> - <td class="coverPerHi">-</td> - <td class="coverNumHi">0 / 0</td> - </tr> - <tr> <td class="coverFile"><a href="fakenv_ops.c.gcov.html">fakenv_ops.c</a></td> <td class="coverBar" align="center"> <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../ruby.png" width=42 height=10 alt="42.0%"><img src="../../../snow.png" width=58 height=10 alt="42.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="secboot_tpm.c.gcov.html">secboot_tpm.c</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="45.4%"><img src="../../../snow.png" width=55 height=10 alt="45.4%"></td></tr></table> + </td> + <td class="coverPerLo">45.4 %</td> + <td class="coverNumLo">162 / 357</td> + <td class="coverPerLo">68.4 %</td> + <td class="coverNumLo">13 / 19</td> + <td class="coverPerHi">-</td> + <td class="coverNumHi">0 / 0</td> + </tr> </table> </center> <br> diff --git a/coverage-report/libstb/secvar/storage/index-sort-f.html b/coverage-report/libstb/secvar/storage/index-sort-f.html index 5627669..f5612ec 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 91893bf..00a1a8e 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 f082096..3e1a3a1 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 4827985..f127489 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 0eea2d6..662cca4 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 3a502a6..bdc25c4 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 490f188..81f9d72 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">24</td> @@ -82,98 +82,98 @@ <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-edk2-compat.c.gcov.html">secvar-test-edk2-compat.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=99 height=10 alt="99.8%"><img src="../../../snow.png" width=1 height=10 alt="99.8%"></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.8 %</td> - <td class="coverNumHi">425 / 426</td> <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">7 / 7</td> + <td class="coverNumHi">68 / 68</td> + <td class="coverPerHi">100.0 %</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-getvar.c.gcov.html">secvar-test-getvar.c</a></td> + <td class="coverFile"><a href="secvar_api_test.c.gcov.html">secvar_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> + <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 %</td> + <td class="coverNumHi">18 / 19</td> <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">47 / 47</td> - <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">1 / 1</td> + <td class="coverNumHi">4 / 4</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-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 %</td> - <td class="coverNumHi">61 / 61</td> + <td class="coverNumHi">11 / 11</td> <td class="coverPerHi">100.0 %</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="secvar-test-enqueue.c.gcov.html">secvar-test-enqueue.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 %</td> + <td class="coverNumHi">55 / 56</td> <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">68 / 68</td> - <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">2 / 2</td> + <td class="coverNumHi">6 / 6</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-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> </td> <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">11 / 11</td> - <td class="coverPerHi">100.0 %</td> <td class="coverNumHi">2 / 2</td> + <td class="coverPerHi">100.0 %</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-secboot-tpm.c.gcov.html">secvar-test-secboot-tpm.c</a></td> + <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=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=100 height=10 alt="100.0%"></td></tr></table> </td> - <td class="coverPerHi">98.2 %</td> - <td class="coverNumHi">55 / 56</td> <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">6 / 6</td> + <td class="coverNumHi">61 / 61</td> + <td class="coverPerHi">100.0 %</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="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=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.8%"><img src="../../../snow.png" width=1 height=10 alt="99.8%"></td></tr></table> </td> + <td class="coverPerHi">99.8 %</td> + <td class="coverNumHi">425 / 426</td> <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">2 / 2</td> - <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">1 / 1</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_api_test.c.gcov.html">secvar_api_test.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=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 %</td> - <td class="coverNumHi">18 / 19</td> <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">4 / 4</td> + <td class="coverNumHi">47 / 47</td> + <td class="coverPerHi">100.0 %</td> + <td class="coverNumHi">1 / 1</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 9615050..72635ab 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">24</td> @@ -82,12 +82,12 @@ <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="secvar-test-getvar.c.gcov.html">secvar-test-getvar.c</a></td> + <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> </td> <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">47 / 47</td> + <td class="coverNumHi">2 / 2</td> <td class="coverPerHi">100.0 %</td> <td class="coverNumHi">1 / 1</td> <td class="coverPerHi">-</td> @@ -106,12 +106,12 @@ <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="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 %</td> - <td class="coverNumHi">2 / 2</td> + <td class="coverNumHi">47 / 47</td> <td class="coverPerHi">100.0 %</td> <td class="coverNumHi">1 / 1</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 46e7a46..32497d3 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 777b841..2acc30c 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 3702ef7..dec97d8 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 23523c9..39074d9 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 1e2fb50..907171d 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 5409c3a..cc67ddf 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 183cfb3..9f42f28 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 9beacdd..edf57f0 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 cf5d64c..17aedf9 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 d67f71b..9442856 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 61027b8..bd1c95f 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 e31e48d..70580ac 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 d3c7d07..a934c1e 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 a9bc2bd..040156f 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 c62c1d2..3e32b54 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 cb5db8b..6175aff 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 31c043f..943feae 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 3c04189..4039053 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 fc9f8cf..51e8040 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 a0816eb..e167889 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 fadab2d..e20a03a 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 8864dbe..3e9ece6 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 ade2be5..e4f63c1 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 2e4fc2d..8bb6551 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 58f7863..b45eaad 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 609d242..98b5874 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 66e236e..7115abd 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 c37c719..72e11a0 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 9e782bb..1708b64 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 1da625c..ce41182 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 435b5cb..01916e4 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 ca7ebd2..2725e58 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 7b1a3e6..cb17bb8 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 f112d5f..8a421b3 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 1f38378..cd711d5 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 fb7dcff..1992b6d 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 ba99eb6..25b9623 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 b8222d6..f326711 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 caf6598..7391616 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 10e33ca..85639b3 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 9b24b19..91f6a70 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 89a4199..5cef0a5 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 43564bb..4f3aec0 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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/fcntl2.h.func-sort-c.html b/coverage-report/usr/include/x86_64-linux-gnu/bits/fcntl2.h.func-sort-c.html index abf088d..0363709 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 284f0c7..47e89f0 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 f1a31e5..33df2a4 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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/index-sort-b.html b/coverage-report/usr/include/x86_64-linux-gnu/bits/index-sort-b.html index 77ab101..bcff752 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 @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">3</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="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="../../../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table> </td> <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">4 / 4</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="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 %</td> - <td class="coverNumHi">12 / 12</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="string_fortified.h.gcov.html">string_fortified.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 %</td> <td class="coverNumHi">6 / 6</td> - <td class="coverPerHi">-</td> - <td class="coverNumHi">0 / 0</td> + <td class="coverPerHi">100.0 %</td> + <td class="coverNumHi">3 / 3</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="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="../../../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table> </td> <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">2 / 2</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="fcntl2.h.gcov.html">fcntl2.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 %</td> - <td class="coverNumHi">5 / 5</td> + <td class="coverNumHi">12 / 12</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="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 %</td> - <td class="coverNumHi">6 / 6</td> - <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">3 / 3</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> 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 b044594..7934a94 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 @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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="../../../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table> </td> <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">4 / 4</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="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 %</td> - <td class="coverNumHi">12 / 12</td> + <td class="coverNumHi">5 / 5</td> <td class="coverPerHi">-</td> <td class="coverNumHi">0 / 0</td> <td class="coverPerHi">-</td> @@ -118,24 +118,24 @@ <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 %</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> <td class="coverNumHi">0 / 0</td> </tr> <tr> - <td class="coverFile"><a href="fcntl2.h.gcov.html">fcntl2.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 %</td> - <td class="coverNumHi">5 / 5</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/index-sort-l.html b/coverage-report/usr/include/x86_64-linux-gnu/bits/index-sort-l.html index 85c7546..f598c03 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 @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">3</td> @@ -118,26 +118,26 @@ <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="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 %</td> <td class="coverNumHi">6 / 6</td> - <td class="coverPerHi">-</td> - <td class="coverNumHi">0 / 0</td> + <td class="coverPerHi">100.0 %</td> + <td class="coverNumHi">3 / 3</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="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="../../../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table> </td> <td class="coverPerHi">100.0 %</td> <td class="coverNumHi">6 / 6</td> - <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">3 / 3</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/usr/include/x86_64-linux-gnu/bits/index.html b/coverage-report/usr/include/x86_64-linux-gnu/bits/index.html index bcb7814..e28469f 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 @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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/stdio.h.func-sort-c.html b/coverage-report/usr/include/x86_64-linux-gnu/bits/stdio.h.func-sort-c.html index 50d6ea0..d0f2532 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 425d0c4..db50db7 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 a97258d..b3e4554 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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-sort-c.html b/coverage-report/usr/include/x86_64-linux-gnu/bits/stdio2.h.func-sort-c.html index 6207715..2b11b15 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 @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 3a9d010..e7b426d 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 @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 1ba06ad..d5fc335 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 @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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-sort-c.html b/coverage-report/usr/include/x86_64-linux-gnu/bits/string_fortified.h.func-sort-c.html index 8544e1a..656403a 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 ed83cee..4161353 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 f1776d1..51617f9 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">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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-sort-c.html b/coverage-report/usr/include/x86_64-linux-gnu/bits/unistd.h.func-sort-c.html index fac57ce..5086181 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 @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 ee5272e..c3bef6e 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 @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</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 faa633e..025967d 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 @@ -37,7 +37,7 @@ </tr> <tr> <td class="headerItem">Date:</td> - <td class="headerValue">2023-09-18 13:49:48</td> + <td class="headerValue">2023-10-11 21:12:14</td> <td></td> <td class="headerItem">Functions:</td> <td class="headerCovTableEntry">0</td> |