Hi Srinivasan, I love your patch! Yet something to improve: [auto build test ERROR on v4.17-rc3] [also build test ERROR on next-20180504] [cannot apply to tip/x86/core] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/kys-linuxonhyperv-com/X86-Hyper-V-APIC-enlightenments/20180505-045627 config: x86_64-randconfig-a0-05050447 (attached as .config) compiler: gcc-7 (Debian 7.3.0-16) 7.3.0 reproduce: # save the attached .config to linux build tree make ARCH=x86_64 All errors (new ones prefixed by >>): arch/x86/hyperv/hv_apic.c: In function 'hv_apic_read': >> arch/x86/hyperv/hv_apic.c:66:10: error: implicit declaration of function 'native_apic_mem_read'; did you mean 'hv_apic_icr_read'? [-Werror=implicit-function-declaration] return native_apic_mem_read(reg); ^~~~~~~~~~~~~~~~~~~~ hv_apic_icr_read arch/x86/hyperv/hv_apic.c: In function 'hv_apic_write': >> arch/x86/hyperv/hv_apic.c:80:3: error: implicit declaration of function 'native_apic_mem_write'; did you mean 'hv_apic_icr_write'? [-Werror=implicit-function-declaration] native_apic_mem_write(reg, val); ^~~~~~~~~~~~~~~~~~~~~ hv_apic_icr_write arch/x86/hyperv/hv_apic.c: In function 'hv_apic_init': >> arch/x86/hyperv/hv_apic.c:93:3: error: implicit declaration of function 'apic_set_eoi_write'; did you mean 'hv_apic_eoi_write'? [-Werror=implicit-function-declaration] apic_set_eoi_write(hv_apic_eoi_write); ^~~~~~~~~~~~~~~~~~ hv_apic_eoi_write arch/x86/hyperv/hv_apic.c:94:3: error: 'apic' undeclared (first use in this function); did you mean 'pid'? apic->read = hv_apic_read; ^~~~ pid arch/x86/hyperv/hv_apic.c:94:3: note: each undeclared identifier is reported only once for each function it appears in cc1: some warnings being treated as errors vim +66 arch/x86/hyperv/hv_apic.c 52 53 static u32 hv_apic_read(u32 reg) 54 { 55 u32 reg_val, hi; 56 57 switch (reg) { 58 case APIC_EOI: 59 rdmsr(HV_X64_MSR_EOI, reg_val, hi); 60 return reg_val; 61 case APIC_TASKPRI: 62 rdmsr(HV_X64_MSR_TPR, reg_val, hi); 63 return reg_val; 64 65 default: > 66 return native_apic_mem_read(reg); 67 } 68 } 69 70 static void hv_apic_write(u32 reg, u32 val) 71 { 72 switch (reg) { 73 case APIC_EOI: 74 wrmsr(HV_X64_MSR_EOI, val, 0); 75 break; 76 case APIC_TASKPRI: 77 wrmsr(HV_X64_MSR_TPR, val, 0); 78 break; 79 default: > 80 native_apic_mem_write(reg, val); 81 } 82 } 83 84 static void hv_apic_eoi_write(u32 reg, u32 val) 85 { 86 wrmsr(HV_X64_MSR_EOI, val, 0); 87 } 88 89 void __init hv_apic_init(void) 90 { 91 if (ms_hyperv.hints & HV_X64_APIC_ACCESS_RECOMMENDED) { 92 pr_info("Hyper-V: Using MSR based APIC access\n"); > 93 apic_set_eoi_write(hv_apic_eoi_write); 94 apic->read = hv_apic_read; 95 apic->write = hv_apic_write; 96 apic->icr_write = hv_apic_icr_write; 97 apic->icr_read = hv_apic_icr_read; 98 } 99 } 100 --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation