lkml.org 
[lkml]   [2009]   [Aug]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Date
    SubjectRE: [PATCH 1/1] intel_txt: to fix build errors of CONFIG_ACPI_SLEEP
    I agree with hpa, considering TXT doesnot depends on acpi sleep.

    However, for hpa's patch, set_mac_regions() is for S3 only. I am wondering whether we should enlarge the range of CONFIG_ACPI_SLEEP in set_mac_regions().
    Certainly, for code cleanness, this patch is fine since the assignment

    +#ifdef CONFIG_X86_TRAMPOLINE
    /* AP trampoline code */
    - tboot->mac_regions[1].start =
    - PFN_PHYS(PFN_DOWN(virt_to_phys(trampoline_base)));
    - tboot->mac_regions[1].size = PFN_UP(TRAMPOLINE_SIZE) << PAGE_SHIFT;
    + add_mac_region(virt_to_phys(trampoline_base), TRAMPOLINE_SIZE);
    +#endif
    /* kernel code + data + bss */
    - tboot->mac_regions[2].start = PFN_PHYS(PFN_DOWN(virt_to_phys(&_text)));
    - tboot->mac_regions[2].size = PFN_PHYS(PFN_UP(virt_to_phys(&_end))) -
    - PFN_PHYS(PFN_DOWN(virt_to_phys(&_text)));
    + add_mac_region(virt_to_phys(_text), _end - _text);

    takes effect but tboot->mac_regions[] will never be used without S3.

    Thanks.
    Shane

    H. Peter Anvin wrote:
    > On 08/12/2009 11:46 PM, Ingo Molnar wrote:
    >> * Wang, Shane <shane.wang@intel.com> wrote:
    >>
    >>> Signed-off-by: Shane Wang <shane.wang@intel.com>
    >>>
    >>> diff -r 7358cf1b3090 arch/x86/kernel/tboot.c
    >>> --- a/arch/x86/kernel/tboot.c Wed Aug 12 03:04:23 2009 -0700
    >>> +++ b/arch/x86/kernel/tboot.c Wed Aug 12 18:06:21 2009 -0700
    >>> @@ -169,6 +169,7 @@ void tboot_create_trampoline(void)
    >>>
    >>> static void set_mac_regions(void)
    >>> {
    >>> +#ifdef CONFIG_ACPI_SLEEP
    >>> tboot->num_mac_regions = 3;
    >>> /* S3 resume code */
    >>> tboot->mac_regions[0].start =
    >>> PFN_PHYS(PFN_DOWN(acpi_wakeup_address)); @@ -181,6 +182,7 @@ static
    >>> void set_mac_regions(void) tboot->mac_regions[2].start =
    >>> PFN_PHYS(PFN_DOWN(virt_to_phys(&_text)));
    >>> tboot->mac_regions[2].size =
    >>> PFN_PHYS(PFN_UP(virt_to_phys(&_end))) -
    >>> PFN_PHYS(PFN_DOWN(virt_to_phys(&_text))); +#endif
    >>
    >> These #ifdefs are quite ugly. Why not add a 'depends on ACPI_SLEEP'
    >> rule to the INTEL_TXT Kconfig section?
    >
    > I *strongly* disagree with that kind of false dependencies. It makes
    > it seem like there is something magic going on, which invites cargo
    > cult programming in the future. I also think those particular
    > #ifdefs are fairly innocuous... it's not like they're hiding flow of
    > control or major chunks of code.
    >
    > However, I think the actual code to set the sections is ugly as hell,
    > which is probably why the #ifdef sticks in your eyes.
    >
    > Consider the attached instead patch, which abstracts some of the (way
    > more complex than it should be) open-coded stuff and therefore makes
    > it stick out less.
    >
    > -hpa



    \
     
     \ /
      Last update: 2009-08-14 04:13    [W:0.028 / U:0.136 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site