Hi Michael,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on arm64/for-next/core]
[also build test ERROR on tip/timers/core efi/next linus/master v5.11 next-20210218]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url:
https://github.com/0day-ci/linux/commits/Michael-Kelley/Enable-Linux-gues...
base:
https://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-next/core
config: arm64-randconfig-r012-20210218 (attached as .config)
compiler: clang version 12.0.0 (
https://github.com/llvm/llvm-project
c9439ca36342fb6013187d0a69aef92736951476)
reproduce (this is a W=1 build):
wget
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O
~/bin/make.cross
chmod +x ~/bin/make.cross
# install arm64 cross compiling tool for clang build
# apt-get install binutils-aarch64-linux-gnu
#
https://github.com/0day-ci/linux/commit/660cf2b87076569fd159d012c005e1719...
git remote add linux-review
https://github.com/0day-ci/linux
git fetch --no-tags linux-review
Michael-Kelley/Enable-Linux-guests-on-Hyper-V-on-ARM64/20210219-072336
git checkout 660cf2b87076569fd159d012c005e171994ea34d
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
In file included from arch/arm64/kernel/setup.c:52:
In file included from arch/arm64/include/asm/mshyperv.h:71:
> include/asm-generic/mshyperv.h:71:7: error: use of undeclared
identifier 'HVMSG_NONE'
HVMSG_NONE) != old_msg_type)
^
> include/asm-generic/mshyperv.h:88:3: error: implicit declaration
of function 'hv_signal_eom' [-Werror,-Wimplicit-function-declaration]
hv_signal_eom();
^
2 errors generated.
vim +/HVMSG_NONE +71 include/asm-generic/mshyperv.h
765e33f5211ab6 Michael Kelley 2019-05-30 55
765e33f5211ab6 Michael Kelley 2019-05-30 56
765e33f5211ab6 Michael Kelley 2019-05-30 57 /* Free the message slot and signal
end-of-message if required */
765e33f5211ab6 Michael Kelley 2019-05-30 58 static inline void vmbus_signal_eom(struct
hv_message *msg, u32 old_msg_type)
765e33f5211ab6 Michael Kelley 2019-05-30 59 {
765e33f5211ab6 Michael Kelley 2019-05-30 60 /*
765e33f5211ab6 Michael Kelley 2019-05-30 61 * On crash we're reading some other
CPU's message page and we need
765e33f5211ab6 Michael Kelley 2019-05-30 62 * to be careful: this other CPU may
already had cleared the header
765e33f5211ab6 Michael Kelley 2019-05-30 63 * and the host may already had delivered
some other message there.
765e33f5211ab6 Michael Kelley 2019-05-30 64 * In case we blindly write
msg->header.message_type we're going
765e33f5211ab6 Michael Kelley 2019-05-30 65 * to lose it. We can still lose a message
of the same type but
765e33f5211ab6 Michael Kelley 2019-05-30 66 * we count on the fact that there can only
be one
765e33f5211ab6 Michael Kelley 2019-05-30 67 * CHANNELMSG_UNLOAD_RESPONSE and we
don't care about other messages
765e33f5211ab6 Michael Kelley 2019-05-30 68 * on crash.
765e33f5211ab6 Michael Kelley 2019-05-30 69 */
765e33f5211ab6 Michael Kelley 2019-05-30 70 if
(cmpxchg(&msg->header.message_type, old_msg_type,
765e33f5211ab6 Michael Kelley 2019-05-30 @71 HVMSG_NONE) != old_msg_type)
765e33f5211ab6 Michael Kelley 2019-05-30 72 return;
765e33f5211ab6 Michael Kelley 2019-05-30 73
765e33f5211ab6 Michael Kelley 2019-05-30 74 /*
765e33f5211ab6 Michael Kelley 2019-05-30 75 * The cmxchg() above does an implicit
memory barrier to
765e33f5211ab6 Michael Kelley 2019-05-30 76 * ensure the write to MessageType (ie set
to
765e33f5211ab6 Michael Kelley 2019-05-30 77 * HVMSG_NONE) happens before we read the
765e33f5211ab6 Michael Kelley 2019-05-30 78 * MessagePending and EOMing. Otherwise,
the EOMing
765e33f5211ab6 Michael Kelley 2019-05-30 79 * will not deliver any more messages since
there is
765e33f5211ab6 Michael Kelley 2019-05-30 80 * no empty slot
765e33f5211ab6 Michael Kelley 2019-05-30 81 */
765e33f5211ab6 Michael Kelley 2019-05-30 82 if
(msg->header.message_flags.msg_pending) {
765e33f5211ab6 Michael Kelley 2019-05-30 83 /*
765e33f5211ab6 Michael Kelley 2019-05-30 84 * This will cause message queue rescan
to
765e33f5211ab6 Michael Kelley 2019-05-30 85 * possibly deliver another msg from the
765e33f5211ab6 Michael Kelley 2019-05-30 86 * hypervisor
765e33f5211ab6 Michael Kelley 2019-05-30 87 */
765e33f5211ab6 Michael Kelley 2019-05-30 @88 hv_signal_eom();
765e33f5211ab6 Michael Kelley 2019-05-30 89 }
765e33f5211ab6 Michael Kelley 2019-05-30 90 }
765e33f5211ab6 Michael Kelley 2019-05-30 91
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org