include/linux/bootconfig.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
The Data Capture and Compare(DCC) is a debugging tool that uses the bootconfig
for configuring the register values during boot-time. Increase the max nodes
supported by bootconfig to cater to the requirements of the Data Capture and
Compare Driver.
Signed-off-by: Souradeep Chowdhury <quic_schowdhu@quicinc.com>
---
include/linux/bootconfig.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/linux/bootconfig.h b/include/linux/bootconfig.h
index 1611f9d..ca73940 100644
--- a/include/linux/bootconfig.h
+++ b/include/linux/bootconfig.h
@@ -59,7 +59,7 @@ struct xbc_node {
/* Maximum size of boot config is 32KB - 1 */
#define XBC_DATA_MAX (XBC_VALUE - 1)
-#define XBC_NODE_MAX 1024
+#define XBC_NODE_MAX 8192
#define XBC_KEYLEN_MAX 256
#define XBC_DEPTH_MAX 16
--
2.7.4
Hi everyone,
It looks like this broke the bootconfig tests (tools/bootconfig/test-
bootconfig.sh), tested on 6.1.18:
Max node number check
test case 12 (./bootconfig -a ./temp-HCfT.bconf ./initrd-NGHv)...
Apply ./temp-HCfT.bconf to ./initrd-NGHv
Number of nodes: 1024
Size: 8110 bytes
Checksum: 599485
\t\t[OK]
test case 13 (./bootconfig -a ./temp-HCfT.bconf ./initrd-NGHv)...
Apply ./temp-HCfT.bconf to ./initrd-NGHv
Number of nodes: 1025
Size: 8118 bytes
Checksum: 600212
\t\t[NG]
When I adjust the max node number for the tests to 8192, test case 13 passes,
but test case 12 then fails:
Max node number check
test case 12 (./bootconfig -a ./temp-qZHF.bconf ./initrd-0v99)...
Error: Config data is too big.
\t\t[NG]
test case 13 (./bootconfig -a ./temp-qZHF.bconf ./initrd-0v99)...
Error: Config data is too big.
\t\t[OK]
Grs,
Heinz
On Sun, 12 Mar 2023 12:49:44 +0100 Heinz Wiesinger <pprkut@slackware.com> wrote: > Hi everyone, Oops, thanks for pointing it out. I have to run the test in the test environment... > > It looks like this broke the bootconfig tests (tools/bootconfig/test- > bootconfig.sh), tested on 6.1.18: > > Max node number check > test case 12 (./bootconfig -a ./temp-HCfT.bconf ./initrd-NGHv)... > Apply ./temp-HCfT.bconf to ./initrd-NGHv > Number of nodes: 1024 > Size: 8110 bytes > Checksum: 599485 > \t\t[OK] > test case 13 (./bootconfig -a ./temp-HCfT.bconf ./initrd-NGHv)... > Apply ./temp-HCfT.bconf to ./initrd-NGHv > Number of nodes: 1025 > Size: 8118 bytes > Checksum: 600212 > \t\t[NG] Yes, it needs to test with 8192 and 8193 nodes. Those are boundary checker. Thanks! > > When I adjust the max node number for the tests to 8192, test case 13 passes, > but test case 12 then fails: > > Max node number check > test case 12 (./bootconfig -a ./temp-qZHF.bconf ./initrd-0v99)... > Error: Config data is too big. > \t\t[NG] > test case 13 (./bootconfig -a ./temp-qZHF.bconf ./initrd-0v99)... > Error: Config data is too big. > \t\t[OK] Ah, it hits the size limitation. :D Each node consumes "node%d\n" = 6-11 bytes, and 11 bytes*8k = 88k bytes > 32K bytes. So, for making 8k nodes (including delimiter), we need to use 3 random alphabets for node name. (26^3 = 17576) Let me fix that and thanks for report! > > Grs, > Heinz -- Masami Hiramatsu (Google) <mhiramat@kernel.org>
On Tue, 24 Jan 2023 10:34:42 +0530
Souradeep Chowdhury <quic_schowdhu@quicinc.com> wrote:
> The Data Capture and Compare(DCC) is a debugging tool that uses the bootconfig
> for configuring the register values during boot-time. Increase the max nodes
> supported by bootconfig to cater to the requirements of the Data Capture and
> Compare Driver.
Thanks, this looks good to me :)
Acked-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>
>
> Signed-off-by: Souradeep Chowdhury <quic_schowdhu@quicinc.com>
> ---
> include/linux/bootconfig.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/include/linux/bootconfig.h b/include/linux/bootconfig.h
> index 1611f9d..ca73940 100644
> --- a/include/linux/bootconfig.h
> +++ b/include/linux/bootconfig.h
> @@ -59,7 +59,7 @@ struct xbc_node {
> /* Maximum size of boot config is 32KB - 1 */
> #define XBC_DATA_MAX (XBC_VALUE - 1)
>
> -#define XBC_NODE_MAX 1024
> +#define XBC_NODE_MAX 8192
> #define XBC_KEYLEN_MAX 256
> #define XBC_DEPTH_MAX 16
>
> --
> 2.7.4
>
--
Masami Hiramatsu (Google) <mhiramat@kernel.org>
© 2016 - 2026 Red Hat, Inc.