Message ID | 20241025-cxl-pra-v2-1-123a825daba2@intel.com |
---|---|
State | Accepted |
Commit | 8e7f07e608864dcf7cabc9c252ca02b6ca9ff0d4 |
Headers | show |
Series | printf: Add struct range print specifier | expand |
On Fri, Oct 25, 2024 at 07:46:53PM -0500, Ira Weiny wrote: > The printf tests for struct resource were stubbed out. struct range > printing will leverage the struct resource implementation. > > To prevent regression add some basic sanity tests for struct resource. ... > + struct resource test_resource = { > + .start = 0xc0ffee00, > + .end = 0xc0ffee00, > + .flags = IORESOURCE_MEM, > + }; > + > + test("[mem 0xc0ffee00 flags 0x200]", > + "%pr", &test_resource); > + > + test_resource = (struct resource) { > + .start = 0xc0ffee, > + .end = 0xba5eba11, > + .flags = IORESOURCE_MEM, > + }; > + test("[mem 0x00c0ffee-0xba5eba11 flags 0x200]", > + "%pr", &test_resource); > + > + test_resource = (struct resource) { > + .start = 0xba5eba11, > + .end = 0xc0ffee, > + .flags = IORESOURCE_MEM, > + }; > + test("[mem 0xba5eba11-0x00c0ffee flags 0x200]", > + "%pr", &test_resource); > + > + test_resource = (struct resource) { > + .start = 0xba5eba11, > + .end = 0xba5eca11, > + .flags = IORESOURCE_MEM, > + }; > + > + test("[mem 0xba5eba11-0xba5eca11 flags 0x200]", > + "%pr", &test_resource); > + > + test_resource = (struct resource) { > + .start = 0xba11, > + .end = 0xca10, > + .flags = IORESOURCE_IO | > + IORESOURCE_DISABLED | > + IORESOURCE_UNSET, > + }; I know that I have given my tag, but I just realized that you may use DEFINE_RES_*() macros here.
Andy Shevchenko wrote: > On Fri, Oct 25, 2024 at 07:46:53PM -0500, Ira Weiny wrote: > > The printf tests for struct resource were stubbed out. struct range > > printing will leverage the struct resource implementation. > > > > To prevent regression add some basic sanity tests for struct resource. > > ... [snip] > > + > > + test("[mem 0xba5eba11-0xba5eca11 flags 0x200]", > > + "%pr", &test_resource); > > + > > + test_resource = (struct resource) { > > + .start = 0xba11, > > + .end = 0xca10, > > + .flags = IORESOURCE_IO | > > + IORESOURCE_DISABLED | > > + IORESOURCE_UNSET, > > + }; > > I know that I have given my tag, but I just realized that you may use > DEFINE_RES_*() macros here. I tried that but it does not really make things easier IMO. So I kept it this way. I'd like Dave to pick up this series for 6.13. If he can then I can use it for the DCD work. Otherwise DCD can go ahead of this. Ira
diff --git a/lib/test_printf.c b/lib/test_printf.c index 8448b6d02bd9..5afdf5efc627 100644 --- a/lib/test_printf.c +++ b/lib/test_printf.c @@ -386,6 +386,50 @@ kernel_ptr(void) static void __init struct_resource(void) { + struct resource test_resource = { + .start = 0xc0ffee00, + .end = 0xc0ffee00, + .flags = IORESOURCE_MEM, + }; + + test("[mem 0xc0ffee00 flags 0x200]", + "%pr", &test_resource); + + test_resource = (struct resource) { + .start = 0xc0ffee, + .end = 0xba5eba11, + .flags = IORESOURCE_MEM, + }; + test("[mem 0x00c0ffee-0xba5eba11 flags 0x200]", + "%pr", &test_resource); + + test_resource = (struct resource) { + .start = 0xba5eba11, + .end = 0xc0ffee, + .flags = IORESOURCE_MEM, + }; + test("[mem 0xba5eba11-0x00c0ffee flags 0x200]", + "%pr", &test_resource); + + test_resource = (struct resource) { + .start = 0xba5eba11, + .end = 0xba5eca11, + .flags = IORESOURCE_MEM, + }; + + test("[mem 0xba5eba11-0xba5eca11 flags 0x200]", + "%pr", &test_resource); + + test_resource = (struct resource) { + .start = 0xba11, + .end = 0xca10, + .flags = IORESOURCE_IO | + IORESOURCE_DISABLED | + IORESOURCE_UNSET, + }; + + test("[io size 0x1000 disabled]", + "%pR", &test_resource); } static void __init