grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v3 2/2] Add new MSR modules (rdmsr/wrmsr)


From: Daniel Kiper
Subject: Re: [PATCH v3 2/2] Add new MSR modules (rdmsr/wrmsr)
Date: Wed, 13 Mar 2019 10:49:14 +0100
User-agent: NeoMutt/20170113 (1.7.2)

On Wed, Mar 13, 2019 at 12:35:48AM +0100, Jesús Diéguez Fernández wrote:
> El 12/3/19 a las 20:12, Daniel Kiper escribió:
> > On Fri, Mar 08, 2019 at 12:14:15PM +0100, Daniel Kiper wrote:
> >> On Fri, Mar 08, 2019 at 01:26:37AM +0100, Jesús Diéguez Fernández wrote:
> >>> In order to be able to read from and write to model-specific registers,
> >>> two new modules are added. They are i386 specific, as the cpuid module.
> >>>
> >>> rdmsr module registers the command rdmsr that allows reading from a MSR.
> >>> wrmsr module registers the command wrmsr that allows writing to a MSR.
> >>>
> >>> wrmsr module is disabled if UEFI secure boot is enabled.
> >>>
> >>> Please note that on SMP systems, interacting with a MSR that has a
> >>> scope per hardware thread, implies that the value only applies to
> >>> the particular cpu/core/thread that ran the command.
> >>>
> >>> Also, if you specify a reserved or unimplemented MSR address, it will
> >>> cause a general protection exception (which is not currently being 
> >>> handled)
> >>> and the system will reboot.
> >>>
> >>> Signed-off-by: Jesús Diéguez Fernández <address@hidden>
> >>
> >> LGTM. Reviewed-by: Daniel Kiper <address@hidden>
> >>
> >> There are a few comments nitpicks which I fix before committing the 
> >> patches.
> >>
> >> If there are no objections I will commit the patches next week.
> >>
> >> Thank you for doing the work.
> >
> > I had to tweak your patches because they broke build at least for coreboot
> > and x86-64 UEFI. Now they are in.
> >
> > Daniel
> >
>
> Sorry to hear that. I'm fine with the changes, specially with the error
> fixes.

Great!

> To prevent repeating the same mistakes, I've compared the patches and
> I've spot the following differences:
>
>       + Two missing casts to unsigned long long.
>       + An unused parameter in wrmsr command.

Yep! These were the main culprits.

>       - The includes should be sorted alphabetically.

This is a matter of taste. I just like this if possible.
I have changed the order because I had to change path
for cpuid.h file too. However, I am not going to insist
alphabetic order too much here.

>       - Phrases in comments should end with a dot.

Again I like this but there is no strict requirement for that.

>       - Some spacing and line adjustment changes.
>       - Indent with two spaces.

Yes, I have missed that during review. In general two spaces of
TABs plus spaces if there are more than 8 spaces.

>       - Multi-line comments reformatted with asterisks.

Yes, please.

> Did I miss anything else?

I think that the only change in cpuid.h path.

> About the formatting issues, before the v2 I found the GNU Indent
> program. I tested it but it didn't quite follow up the final desired
> format, so I didn't use it at all.
> Do you use it or do you normally adjust everything manually?

Right now manually but I would like to get it automated at some point.
This is getting boring...

> I'm used to work in different environments with different coding styles
> and rules (although all of them are less restrictive than GRUB), so I
> tried to mimic the style of other preexisting files. Next time I need
> more time and care before submitting the patch.

Do not worry. This is a nightmare in the GRUB code because it is
a mixture of various styles. I think that the problem is that the
style was not enforced much earlier. I am going to change that and
automate most of the task if time allows.

> About the multi-line comments, I think that maybe they were ok? (at
> least by the grub-dev docs specific rules):
>
> Comments spanning multiple lines shall be formatted with all lines after
> the first aligned with the first line.
>
> Asterisk characters should not be repeated a the start of each
> subsequent line.
>
> Acceptable:
>
> /* This is a comment
>    which spans multiple lines.
>    It is long.  */
>
> Unacceptable:
>
> /*
>  * This is a comment
>  * which spans multiple lines.
>  * It is long. */

Yeah, I had to fix it. In general I do not like the former because in
long comments with code snippets sometimes it is not easy to catch the
difference between the real code and comment. So, I prefer the latter
with the last "*/" put alone in last comment line. However, you are
right that I had to update the docs. I will update it.

> Thank you for your time and patience.

You are welcome.

Daniel



reply via email to

[Prev in Thread] Current Thread [Next in Thread]