[PATCH 1/4] ppc/pnv: Suppress some "pnv_chiptod unimplemented register" messages

Caleb Schlossin posted 4 patches 1 month, 3 weeks ago
Maintainers: Nicholas Piggin <npiggin@gmail.com>, Aditya Gupta <adityag@linux.ibm.com>, Glenn Miles <milesg@linux.ibm.com>
There is a newer version of this series
[PATCH 1/4] ppc/pnv: Suppress some "pnv_chiptod unimplemented register" messages
Posted by Caleb Schlossin 1 month, 3 weeks ago
This commit suppresses the following informational messages
regarding unimplemented pnv_chiptod registers:

pnv_chiptod: unimplemented register: Ox0
pnv_chiptod: unimplemented register: Ox1
pnv_chiptod: unimplemented register: Ox2
pnv_chiptod: unimplemented register: Ox3
pnv_chiptod: unimplemented register: Ox4
pnv_chiptod: unimplemented register: Ox5
pnv_chiptod: unimplemented register: Ox13

Signed-off-by: Glenn Miles <milesg@linux.ibm.com>
Signed-off-by: Caleb Schlossin <calebs@linux.ibm.com>
---
 hw/ppc/pnv_chiptod.c | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/hw/ppc/pnv_chiptod.c b/hw/ppc/pnv_chiptod.c
index f887a18cde..cd9b8ee348 100644
--- a/hw/ppc/pnv_chiptod.c
+++ b/hw/ppc/pnv_chiptod.c
@@ -145,6 +145,15 @@ static uint64_t pnv_chiptod_xscom_read(void *opaque, hwaddr addr,
             val |= PPC_BIT(4);
         }
         break;
+    case TOD_M_PATH_CTRL_REG:
+    case TOD_PRI_PORT_0_CTRL_REG:
+    case TOD_PRI_PORT_1_CTRL_REG:
+    case TOD_SEC_PORT_0_CTRL_REG:
+    case TOD_SEC_PORT_1_CTRL_REG:
+    case TOD_S_PATH_CTRL_REG:
+    case TOD_TX_TTYPE_2_REG:
+        /* unimplemented, but suppressing logging for now */
+        break;
     default:
         qemu_log_mask(LOG_UNIMP, "pnv_chiptod: unimplemented register: Ox%"
                       HWADDR_PRIx "\n", addr >> 3);
@@ -420,6 +429,15 @@ static void pnv_chiptod_xscom_write(void *opaque, hwaddr addr,
     case TOD_TX_TTYPE_5_REG:
         pctc->broadcast_ttype(chiptod, offset);
         break;
+    case TOD_M_PATH_CTRL_REG:
+    case TOD_PRI_PORT_0_CTRL_REG:
+    case TOD_PRI_PORT_1_CTRL_REG:
+    case TOD_SEC_PORT_0_CTRL_REG:
+    case TOD_SEC_PORT_1_CTRL_REG:
+    case TOD_S_PATH_CTRL_REG:
+    case TOD_TX_TTYPE_2_REG:
+        /* unimplemented, but suppressing logging for now */
+        break;
     default:
         qemu_log_mask(LOG_UNIMP, "pnv_chiptod: unimplemented register: Ox%"
                       HWADDR_PRIx "\n", addr >> 3);
-- 
2.47.3
Re: [PATCH 1/4] ppc/pnv: Suppress some "pnv_chiptod unimplemented register" messages
Posted by Miles Glenn 1 month ago
Hi Caleb.  I wonder if it makes sense to upstream this commit since I
suspect that most upstream users will not have the "unimp" log messages
enabled unless they are debugging a problem and in that case, we would
be erroneously masking these unimplemented registers from the logged
output.

Thanks,

Glenn

On Thu, 2025-12-18 at 14:03 -0600, Caleb Schlossin wrote:
> This commit suppresses the following informational messages
> regarding unimplemented pnv_chiptod registers:
> 
> pnv_chiptod: unimplemented register: Ox0
> pnv_chiptod: unimplemented register: Ox1
> pnv_chiptod: unimplemented register: Ox2
> pnv_chiptod: unimplemented register: Ox3
> pnv_chiptod: unimplemented register: Ox4
> pnv_chiptod: unimplemented register: Ox5
> pnv_chiptod: unimplemented register: Ox13
> 
> Signed-off-by: Glenn Miles <milesg@linux.ibm.com>
> Signed-off-by: Caleb Schlossin <calebs@linux.ibm.com>
> ---
>  hw/ppc/pnv_chiptod.c | 18 ++++++++++++++++++
>  1 file changed, 18 insertions(+)
> 
> diff --git a/hw/ppc/pnv_chiptod.c b/hw/ppc/pnv_chiptod.c
> index f887a18cde..cd9b8ee348 100644
> --- a/hw/ppc/pnv_chiptod.c
> +++ b/hw/ppc/pnv_chiptod.c
> @@ -145,6 +145,15 @@ static uint64_t pnv_chiptod_xscom_read(void *opaque, hwaddr addr,
>              val |= PPC_BIT(4);
>          }
>          break;
> +    case TOD_M_PATH_CTRL_REG:
> +    case TOD_PRI_PORT_0_CTRL_REG:
> +    case TOD_PRI_PORT_1_CTRL_REG:
> +    case TOD_SEC_PORT_0_CTRL_REG:
> +    case TOD_SEC_PORT_1_CTRL_REG:
> +    case TOD_S_PATH_CTRL_REG:
> +    case TOD_TX_TTYPE_2_REG:
> +        /* unimplemented, but suppressing logging for now */
> +        break;
>      default:
>          qemu_log_mask(LOG_UNIMP, "pnv_chiptod: unimplemented register: Ox%"
>                        HWADDR_PRIx "\n", addr >> 3);
> @@ -420,6 +429,15 @@ static void pnv_chiptod_xscom_write(void *opaque, hwaddr addr,
>      case TOD_TX_TTYPE_5_REG:
>          pctc->broadcast_ttype(chiptod, offset);
>          break;
> +    case TOD_M_PATH_CTRL_REG:
> +    case TOD_PRI_PORT_0_CTRL_REG:
> +    case TOD_PRI_PORT_1_CTRL_REG:
> +    case TOD_SEC_PORT_0_CTRL_REG:
> +    case TOD_SEC_PORT_1_CTRL_REG:
> +    case TOD_S_PATH_CTRL_REG:
> +    case TOD_TX_TTYPE_2_REG:
> +        /* unimplemented, but suppressing logging for now */
> +        break;
>      default:
>          qemu_log_mask(LOG_UNIMP, "pnv_chiptod: unimplemented register: Ox%"
>                        HWADDR_PRIx "\n", addr >> 3);
Re: [PATCH 1/4] ppc/pnv: Suppress some "pnv_chiptod unimplemented register" messages
Posted by Caleb Schlossin 1 month ago

On 1/6/26 10:49 AM, Miles Glenn wrote:
> Hi Caleb.  I wonder if it makes sense to upstream this commit since I
> suspect that most upstream users will not have the "unimp" log messages
> enabled unless they are debugging a problem and in that case, we would
> be erroneously masking these unimplemented registers from the logged
> output.
> 
> Thanks,
> 
> Glenn

I understand your point. Here are my thoughts:
- Cleaning up these logs for valid accesses (PowerVM bringup and development) reduces the overall log output and helps find real errors
- In the future, there may be a customer that wants to run PowerVM with upstream QEMU. The more we upstream, the easier that will be.
- In the future, we are going to have a number of cases like this where we accept accesses and don't log for every unimp access (to clean up log output). If we choose to keep those patches private and don't upstream them it's going to increase the number of private patches we keep, making future rebasing more difficult.
- I'd prefer to upstream more patches, and focus on keeping only the patches we need to private (for confidentiality or other reasons). To make future rebasing easier.

Feel free to contact me offline, if you'd like to discuss this further.

Thanks,
Caleb

> 
> On Thu, 2025-12-18 at 14:03 -0600, Caleb Schlossin wrote:
>> This commit suppresses the following informational messages
>> regarding unimplemented pnv_chiptod registers:
>>
>> pnv_chiptod: unimplemented register: Ox0
>> pnv_chiptod: unimplemented register: Ox1
>> pnv_chiptod: unimplemented register: Ox2
>> pnv_chiptod: unimplemented register: Ox3
>> pnv_chiptod: unimplemented register: Ox4
>> pnv_chiptod: unimplemented register: Ox5
>> pnv_chiptod: unimplemented register: Ox13
>>
>> Signed-off-by: Glenn Miles <milesg@linux.ibm.com>
>> Signed-off-by: Caleb Schlossin <calebs@linux.ibm.com>
>> ---
>>  hw/ppc/pnv_chiptod.c | 18 ++++++++++++++++++
>>  1 file changed, 18 insertions(+)
>>
>> diff --git a/hw/ppc/pnv_chiptod.c b/hw/ppc/pnv_chiptod.c
>> index f887a18cde..cd9b8ee348 100644
>> --- a/hw/ppc/pnv_chiptod.c
>> +++ b/hw/ppc/pnv_chiptod.c
>> @@ -145,6 +145,15 @@ static uint64_t pnv_chiptod_xscom_read(void *opaque, hwaddr addr,
>>              val |= PPC_BIT(4);
>>          }
>>          break;
>> +    case TOD_M_PATH_CTRL_REG:
>> +    case TOD_PRI_PORT_0_CTRL_REG:
>> +    case TOD_PRI_PORT_1_CTRL_REG:
>> +    case TOD_SEC_PORT_0_CTRL_REG:
>> +    case TOD_SEC_PORT_1_CTRL_REG:
>> +    case TOD_S_PATH_CTRL_REG:
>> +    case TOD_TX_TTYPE_2_REG:
>> +        /* unimplemented, but suppressing logging for now */
>> +        break;
>>      default:
>>          qemu_log_mask(LOG_UNIMP, "pnv_chiptod: unimplemented register: Ox%"
>>                        HWADDR_PRIx "\n", addr >> 3);
>> @@ -420,6 +429,15 @@ static void pnv_chiptod_xscom_write(void *opaque, hwaddr addr,
>>      case TOD_TX_TTYPE_5_REG:
>>          pctc->broadcast_ttype(chiptod, offset);
>>          break;
>> +    case TOD_M_PATH_CTRL_REG:
>> +    case TOD_PRI_PORT_0_CTRL_REG:
>> +    case TOD_PRI_PORT_1_CTRL_REG:
>> +    case TOD_SEC_PORT_0_CTRL_REG:
>> +    case TOD_SEC_PORT_1_CTRL_REG:
>> +    case TOD_S_PATH_CTRL_REG:
>> +    case TOD_TX_TTYPE_2_REG:
>> +        /* unimplemented, but suppressing logging for now */
>> +        break;
>>      default:
>>          qemu_log_mask(LOG_UNIMP, "pnv_chiptod: unimplemented register: Ox%"
>>                        HWADDR_PRIx "\n", addr >> 3);
>
Re: [PATCH 1/4] ppc/pnv: Suppress some "pnv_chiptod unimplemented register" messages
Posted by Aditya Gupta 2 weeks, 5 days ago
On 26/01/06 11:07AM, Caleb Schlossin wrote:
> 
> 
> On 1/6/26 10:49 AM, Miles Glenn wrote:
> > Hi Caleb.  I wonder if it makes sense to upstream this commit since I
> > suspect that most upstream users will not have the "unimp" log messages
> > enabled unless they are debugging a problem and in that case, we would
> > be erroneously masking these unimplemented registers from the logged
> > output.
> > 
> > Thanks,
> > 
> > Glenn
> 
> I understand your point. Here are my thoughts:
> - Cleaning up these logs for valid accesses (PowerVM bringup and development) reduces the overall log output and helps find real errors
> - In the future, there may be a customer that wants to run PowerVM with upstream QEMU. The more we upstream, the easier that will be.
> - In the future, we are going to have a number of cases like this where we accept accesses and don't log for every unimp access (to clean up log output). If we choose to keep those patches private and don't upstream them it's going to increase the number of private patches we keep, making future rebasing more difficult.
> - I'd prefer to upstream more patches, and focus on keeping only the patches we need to private (for confidentiality or other reasons). To make future rebasing easier.

I agree with Glenn that we shouldn't mask these warnings for everyone.

Since a warning saying a feature is unimplemented is better than
silently not doing anything without any warnings.

Maybe the excessive warnings should only be masked for PowerMV
development work, rather than upstreaming, or we can always upstream
once those are implemented.

- Aditya G
Re: [PATCH 1/4] ppc/pnv: Suppress some "pnv_chiptod unimplemented register" messages
Posted by Caleb Schlossin 2 weeks, 4 days ago

On 1/19/26 4:18 AM, Aditya Gupta wrote:
> On 26/01/06 11:07AM, Caleb Schlossin wrote:
>>
>>
>> On 1/6/26 10:49 AM, Miles Glenn wrote:
>>> Hi Caleb.  I wonder if it makes sense to upstream this commit since I
>>> suspect that most upstream users will not have the "unimp" log messages
>>> enabled unless they are debugging a problem and in that case, we would
>>> be erroneously masking these unimplemented registers from the logged
>>> output.
>>>
>>> Thanks,
>>>
>>> Glenn
>>
>> I understand your point. Here are my thoughts:
>> - Cleaning up these logs for valid accesses (PowerVM bringup and development) reduces the overall log output and helps find real errors
>> - In the future, there may be a customer that wants to run PowerVM with upstream QEMU. The more we upstream, the easier that will be.
>> - In the future, we are going to have a number of cases like this where we accept accesses and don't log for every unimp access (to clean up log output). If we choose to keep those patches private and don't upstream them it's going to increase the number of private patches we keep, making future rebasing more difficult.
>> - I'd prefer to upstream more patches, and focus on keeping only the patches we need to private (for confidentiality or other reasons). To make future rebasing easier.
> 
> I agree with Glenn that we shouldn't mask these warnings for everyone.
> 
> Since a warning saying a feature is unimplemented is better than
> silently not doing anything without any warnings.
> 
> Maybe the excessive warnings should only be masked for PowerMV
> development work, rather than upstreaming, or we can always upstream
> once those are implemented.
> 
> - Aditya G
> 

Ok. Would you like me to pull out this patch from the series and send out v2 containing only the approved patches?

Thanks,
Caleb
Re: [PATCH 1/4] ppc/pnv: Suppress some "pnv_chiptod unimplemented register" messages
Posted by Aditya Gupta 2 weeks ago
On 26/01/20 08:31AM, Caleb Schlossin wrote:
> 
> 
> On 1/19/26 4:18 AM, Aditya Gupta wrote:
> > On 26/01/06 11:07AM, Caleb Schlossin wrote:
> >>
> >>
> >> On 1/6/26 10:49 AM, Miles Glenn wrote:
> >>> Hi Caleb.  I wonder if it makes sense to upstream this commit since I
> >>> suspect that most upstream users will not have the "unimp" log messages
> >>> enabled unless they are debugging a problem and in that case, we would
> >>> be erroneously masking these unimplemented registers from the logged
> >>> output.
> >>>
> >>> Thanks,
> >>>
> >>> Glenn
> >>
> >> I understand your point. Here are my thoughts:
> >> - Cleaning up these logs for valid accesses (PowerVM bringup and development) reduces the overall log output and helps find real errors
> >> - In the future, there may be a customer that wants to run PowerVM with upstream QEMU. The more we upstream, the easier that will be.
> >> - In the future, we are going to have a number of cases like this where we accept accesses and don't log for every unimp access (to clean up log output). If we choose to keep those patches private and don't upstream them it's going to increase the number of private patches we keep, making future rebasing more difficult.
> >> - I'd prefer to upstream more patches, and focus on keeping only the patches we need to private (for confidentiality or other reasons). To make future rebasing easier.
> > 
> > I agree with Glenn that we shouldn't mask these warnings for everyone.
> > 
> > Since a warning saying a feature is unimplemented is better than
> > silently not doing anything without any warnings.
> > 
> > Maybe the excessive warnings should only be masked for PowerMV
> > development work, rather than upstreaming, or we can always upstream
> > once those are implemented.
> > 
> > - Aditya G
> > 
> 
> Ok. Would you like me to pull out this patch from the series and send out v2 containing only the approved patches?

Yes Caleb, thanks for understanding.

- Aditya G

> 
> Thanks,
> Caleb
>
Re: [PATCH 1/4] ppc/pnv: Suppress some "pnv_chiptod unimplemented register" messages
Posted by Miles Glenn 1 month ago
Ok, I can't say I have a strong opinion on this either way, so...

Reviewed-by: Glenn Miles <milesg@linux.ibm.com>

Thanks,

Glenn

On Tue, 2026-01-06 at 11:07 -0600, Caleb Schlossin wrote:
> 
> On 1/6/26 10:49 AM, Miles Glenn wrote:
> > Hi Caleb.  I wonder if it makes sense to upstream this commit since I
> > suspect that most upstream users will not have the "unimp" log messages
> > enabled unless they are debugging a problem and in that case, we would
> > be erroneously masking these unimplemented registers from the logged
> > output.
> > 
> > Thanks,
> > 
> > Glenn
> 
> I understand your point. Here are my thoughts:
> - Cleaning up these logs for valid accesses (PowerVM bringup and development) reduces the overall log output and helps find real errors
> - In the future, there may be a customer that wants to run PowerVM with upstream QEMU. The more we upstream, the easier that will be.
> - In the future, we are going to have a number of cases like this where we accept accesses and don't log for every unimp access (to clean up log output). If we choose to keep those patches private and don't upstream them it's going to increase the number of private patches we keep, making future rebasing more difficult.
> - I'd prefer to upstream more patches, and focus on keeping only the patches we need to private (for confidentiality or other reasons). To make future rebasing easier.
> 
> Feel free to contact me offline, if you'd like to discuss this further.
> 
> Thanks,
> Caleb
> 
> > On Thu, 2025-12-18 at 14:03 -0600, Caleb Schlossin wrote:
> > > This commit suppresses the following informational messages
> > > regarding unimplemented pnv_chiptod registers:
> > > 
> > > pnv_chiptod: unimplemented register: Ox0
> > > pnv_chiptod: unimplemented register: Ox1
> > > pnv_chiptod: unimplemented register: Ox2
> > > pnv_chiptod: unimplemented register: Ox3
> > > pnv_chiptod: unimplemented register: Ox4
> > > pnv_chiptod: unimplemented register: Ox5
> > > pnv_chiptod: unimplemented register: Ox13
> > > 
> > > Signed-off-by: Glenn Miles <milesg@linux.ibm.com>
> > > Signed-off-by: Caleb Schlossin <calebs@linux.ibm.com>
> > > ---
> > >  hw/ppc/pnv_chiptod.c | 18 ++++++++++++++++++
> > >  1 file changed, 18 insertions(+)
> > > 
> > > diff --git a/hw/ppc/pnv_chiptod.c b/hw/ppc/pnv_chiptod.c
> > > index f887a18cde..cd9b8ee348 100644
> > > --- a/hw/ppc/pnv_chiptod.c
> > > +++ b/hw/ppc/pnv_chiptod.c
> > > @@ -145,6 +145,15 @@ static uint64_t pnv_chiptod_xscom_read(void *opaque, hwaddr addr,
> > >              val |= PPC_BIT(4);
> > >          }
> > >          break;
> > > +    case TOD_M_PATH_CTRL_REG:
> > > +    case TOD_PRI_PORT_0_CTRL_REG:
> > > +    case TOD_PRI_PORT_1_CTRL_REG:
> > > +    case TOD_SEC_PORT_0_CTRL_REG:
> > > +    case TOD_SEC_PORT_1_CTRL_REG:
> > > +    case TOD_S_PATH_CTRL_REG:
> > > +    case TOD_TX_TTYPE_2_REG:
> > > +        /* unimplemented, but suppressing logging for now */
> > > +        break;
> > >      default:
> > >          qemu_log_mask(LOG_UNIMP, "pnv_chiptod: unimplemented register: Ox%"
> > >                        HWADDR_PRIx "\n", addr >> 3);
> > > @@ -420,6 +429,15 @@ static void pnv_chiptod_xscom_write(void *opaque, hwaddr addr,
> > >      case TOD_TX_TTYPE_5_REG:
> > >          pctc->broadcast_ttype(chiptod, offset);
> > >          break;
> > > +    case TOD_M_PATH_CTRL_REG:
> > > +    case TOD_PRI_PORT_0_CTRL_REG:
> > > +    case TOD_PRI_PORT_1_CTRL_REG:
> > > +    case TOD_SEC_PORT_0_CTRL_REG:
> > > +    case TOD_SEC_PORT_1_CTRL_REG:
> > > +    case TOD_S_PATH_CTRL_REG:
> > > +    case TOD_TX_TTYPE_2_REG:
> > > +        /* unimplemented, but suppressing logging for now */
> > > +        break;
> > >      default:
> > >          qemu_log_mask(LOG_UNIMP, "pnv_chiptod: unimplemented register: Ox%"
> > >                        HWADDR_PRIx "\n", addr >> 3);
Re: [PATCH 1/4] ppc/pnv: Suppress some "pnv_chiptod unimplemented register" messages
Posted by Chalapathi V 1 month, 2 weeks ago
Reviewed-by: Chalapathi V <chalapathi.v@linux.ibm.com> 
<mailto:milesg@linux.ibm.com>


On 19/12/25 1:33 am, Caleb Schlossin wrote:
> This commit suppresses the following informational messages
> regarding unimplemented pnv_chiptod registers:
>
> pnv_chiptod: unimplemented register: Ox0
> pnv_chiptod: unimplemented register: Ox1
> pnv_chiptod: unimplemented register: Ox2
> pnv_chiptod: unimplemented register: Ox3
> pnv_chiptod: unimplemented register: Ox4
> pnv_chiptod: unimplemented register: Ox5
> pnv_chiptod: unimplemented register: Ox13
>
> Signed-off-by: Glenn Miles<milesg@linux.ibm.com>
> Signed-off-by: Caleb Schlossin<calebs@linux.ibm.com>
> ---
>   hw/ppc/pnv_chiptod.c | 18 ++++++++++++++++++
>   1 file changed, 18 insertions(+)
>
> diff --git a/hw/ppc/pnv_chiptod.c b/hw/ppc/pnv_chiptod.c
> index f887a18cde..cd9b8ee348 100644
> --- a/hw/ppc/pnv_chiptod.c
> +++ b/hw/ppc/pnv_chiptod.c
> @@ -145,6 +145,15 @@ static uint64_t pnv_chiptod_xscom_read(void *opaque, hwaddr addr,
>               val |= PPC_BIT(4);
>           }
>           break;
> +    case TOD_M_PATH_CTRL_REG:
> +    case TOD_PRI_PORT_0_CTRL_REG:
> +    case TOD_PRI_PORT_1_CTRL_REG:
> +    case TOD_SEC_PORT_0_CTRL_REG:
> +    case TOD_SEC_PORT_1_CTRL_REG:
> +    case TOD_S_PATH_CTRL_REG:
> +    case TOD_TX_TTYPE_2_REG:
> +        /* unimplemented, but suppressing logging for now */
> +        break;
>       default:
>           qemu_log_mask(LOG_UNIMP, "pnv_chiptod: unimplemented register: Ox%"
>                         HWADDR_PRIx "\n", addr >> 3);
> @@ -420,6 +429,15 @@ static void pnv_chiptod_xscom_write(void *opaque, hwaddr addr,
>       case TOD_TX_TTYPE_5_REG:
>           pctc->broadcast_ttype(chiptod, offset);
>           break;
> +    case TOD_M_PATH_CTRL_REG:
> +    case TOD_PRI_PORT_0_CTRL_REG:
> +    case TOD_PRI_PORT_1_CTRL_REG:
> +    case TOD_SEC_PORT_0_CTRL_REG:
> +    case TOD_SEC_PORT_1_CTRL_REG:
> +    case TOD_S_PATH_CTRL_REG:
> +    case TOD_TX_TTYPE_2_REG:
> +        /* unimplemented, but suppressing logging for now */
> +        break;
>       default:
>           qemu_log_mask(LOG_UNIMP, "pnv_chiptod: unimplemented register: Ox%"
>                         HWADDR_PRIx "\n", addr >> 3);