Re: [RFC PATCH 1/6] x86/apic: Replace init_bsp_APIC() with apic_virture_wire_mode_setup()
Hi Thomas, At 04/05/2017 06:50 PM, Thomas Gleixner wrote: On Wed, 5 Apr 2017, Thomas Gleixner wrote: On Wed, 29 Mar 2017, Dou Liyang wrote: The init_bsp_APIC() setups the virtual wire mode through the local APIC. The function name is unsuitable which might imply that the BSP's APIC will be initialized here, actually, where it will be done is almost at the end of start_kernel(). And the CONFIG X86_64 is also imply the X86_LOCAL_APIC is y. Correct, but X86_32 can have X86_LOCAL_APIC=n. And by removing the ifdefs you break that. Oops. Sorry, the function is replaced by an empty stub for the APIC=n case. So that's correct. I forgot to clear it in the change log. I will add this comment to the change log. Thanks, Liyang /* - * An initial setup of the virtual wire mode. + * Setup the through-local-APIC virtual wire mode. */ -void __init init_bsp_APIC(void) +void apic_virture_wire_mode_setup(void) s/virture/virtual/ ? Why is this function not longer marked __init ? Thanks, tglx
Re: [RFC PATCH 1/6] x86/apic: Replace init_bsp_APIC() with apic_virture_wire_mode_setup()
Hi Thomas, At 04/05/2017 06:50 PM, Thomas Gleixner wrote: On Wed, 5 Apr 2017, Thomas Gleixner wrote: On Wed, 29 Mar 2017, Dou Liyang wrote: The init_bsp_APIC() setups the virtual wire mode through the local APIC. The function name is unsuitable which might imply that the BSP's APIC will be initialized here, actually, where it will be done is almost at the end of start_kernel(). And the CONFIG X86_64 is also imply the X86_LOCAL_APIC is y. Correct, but X86_32 can have X86_LOCAL_APIC=n. And by removing the ifdefs you break that. Oops. Sorry, the function is replaced by an empty stub for the APIC=n case. So that's correct. I forgot to clear it in the change log. I will add this comment to the change log. Thanks, Liyang /* - * An initial setup of the virtual wire mode. + * Setup the through-local-APIC virtual wire mode. */ -void __init init_bsp_APIC(void) +void apic_virture_wire_mode_setup(void) s/virture/virtual/ ? Why is this function not longer marked __init ? Thanks, tglx
Re: [RFC PATCH 1/6] x86/apic: Replace init_bsp_APIC() with apic_virture_wire_mode_setup()
Hi Thomas, Thank you very much! At 04/05/2017 06:43 PM, Thomas Gleixner wrote: On Wed, 29 Mar 2017, Dou Liyang wrote: The init_bsp_APIC() setups the virtual wire mode through the local APIC. The function name is unsuitable which might imply that the BSP's APIC will be initialized here, actually, where it will be done is almost at the end of start_kernel(). And the CONFIG X86_64 is also imply the X86_LOCAL_APIC is y. Correct, but X86_32 can have X86_LOCAL_APIC=n. And by removing the ifdefs you break that. /* - * An initial setup of the virtual wire mode. + * Setup the through-local-APIC virtual wire mode. */ -void __init init_bsp_APIC(void) +void apic_virture_wire_mode_setup(void) s/virture/virtual/ ? Yes, It is. Why is this function not longer marked __init ? Oops. The __init is necessary. I will modify it. Thanks, Liyang. Thanks, tglx
Re: [RFC PATCH 1/6] x86/apic: Replace init_bsp_APIC() with apic_virture_wire_mode_setup()
Hi Thomas, Thank you very much! At 04/05/2017 06:43 PM, Thomas Gleixner wrote: On Wed, 29 Mar 2017, Dou Liyang wrote: The init_bsp_APIC() setups the virtual wire mode through the local APIC. The function name is unsuitable which might imply that the BSP's APIC will be initialized here, actually, where it will be done is almost at the end of start_kernel(). And the CONFIG X86_64 is also imply the X86_LOCAL_APIC is y. Correct, but X86_32 can have X86_LOCAL_APIC=n. And by removing the ifdefs you break that. /* - * An initial setup of the virtual wire mode. + * Setup the through-local-APIC virtual wire mode. */ -void __init init_bsp_APIC(void) +void apic_virture_wire_mode_setup(void) s/virture/virtual/ ? Yes, It is. Why is this function not longer marked __init ? Oops. The __init is necessary. I will modify it. Thanks, Liyang. Thanks, tglx
Re: [RFC PATCH 1/6] x86/apic: Replace init_bsp_APIC() with apic_virture_wire_mode_setup()
On Wed, 5 Apr 2017, Thomas Gleixner wrote: > On Wed, 29 Mar 2017, Dou Liyang wrote: > > > The init_bsp_APIC() setups the virtual wire mode through the local > > APIC. > > > > The function name is unsuitable which might imply that the BSP's > > APIC will be initialized here, actually, where it will be done is > > almost at the end of start_kernel(). And the CONFIG X86_64 is also > > imply the X86_LOCAL_APIC is y. > > Correct, but X86_32 can have X86_LOCAL_APIC=n. And by removing the ifdefs > you break that. Oops. Sorry, the function is replaced by an empty stub for the APIC=n case. So that's correct. > > /* > > - * An initial setup of the virtual wire mode. > > + * Setup the through-local-APIC virtual wire mode. > > */ > > -void __init init_bsp_APIC(void) > > +void apic_virture_wire_mode_setup(void) > > s/virture/virtual/ ? > > Why is this function not longer marked __init ? > > Thanks, > > tglx >
Re: [RFC PATCH 1/6] x86/apic: Replace init_bsp_APIC() with apic_virture_wire_mode_setup()
On Wed, 5 Apr 2017, Thomas Gleixner wrote: > On Wed, 29 Mar 2017, Dou Liyang wrote: > > > The init_bsp_APIC() setups the virtual wire mode through the local > > APIC. > > > > The function name is unsuitable which might imply that the BSP's > > APIC will be initialized here, actually, where it will be done is > > almost at the end of start_kernel(). And the CONFIG X86_64 is also > > imply the X86_LOCAL_APIC is y. > > Correct, but X86_32 can have X86_LOCAL_APIC=n. And by removing the ifdefs > you break that. Oops. Sorry, the function is replaced by an empty stub for the APIC=n case. So that's correct. > > /* > > - * An initial setup of the virtual wire mode. > > + * Setup the through-local-APIC virtual wire mode. > > */ > > -void __init init_bsp_APIC(void) > > +void apic_virture_wire_mode_setup(void) > > s/virture/virtual/ ? > > Why is this function not longer marked __init ? > > Thanks, > > tglx >
Re: [RFC PATCH 1/6] x86/apic: Replace init_bsp_APIC() with apic_virture_wire_mode_setup()
On Wed, 29 Mar 2017, Dou Liyang wrote: > The init_bsp_APIC() setups the virtual wire mode through the local > APIC. > > The function name is unsuitable which might imply that the BSP's > APIC will be initialized here, actually, where it will be done is > almost at the end of start_kernel(). And the CONFIG X86_64 is also > imply the X86_LOCAL_APIC is y. Correct, but X86_32 can have X86_LOCAL_APIC=n. And by removing the ifdefs you break that. > /* > - * An initial setup of the virtual wire mode. > + * Setup the through-local-APIC virtual wire mode. > */ > -void __init init_bsp_APIC(void) > +void apic_virture_wire_mode_setup(void) s/virture/virtual/ ? Why is this function not longer marked __init ? Thanks, tglx
Re: [RFC PATCH 1/6] x86/apic: Replace init_bsp_APIC() with apic_virture_wire_mode_setup()
On Wed, 29 Mar 2017, Dou Liyang wrote: > The init_bsp_APIC() setups the virtual wire mode through the local > APIC. > > The function name is unsuitable which might imply that the BSP's > APIC will be initialized here, actually, where it will be done is > almost at the end of start_kernel(). And the CONFIG X86_64 is also > imply the X86_LOCAL_APIC is y. Correct, but X86_32 can have X86_LOCAL_APIC=n. And by removing the ifdefs you break that. > /* > - * An initial setup of the virtual wire mode. > + * Setup the through-local-APIC virtual wire mode. > */ > -void __init init_bsp_APIC(void) > +void apic_virture_wire_mode_setup(void) s/virture/virtual/ ? Why is this function not longer marked __init ? Thanks, tglx