Giter Site home page Giter Site logo

lkvs's Introduction

Linux Kernel Validation Suite

The Linux Kernel Validation Suite (LKVS) is a Linux Kernel test suite. It is a working project created by the Intel Core Linux Kernel Val Team. The purpose is to improve the quality of Intel-contributed Linux Kernel code. Furthermore, it shows the customer how to use or validate the features.

BM(Bare Metal) involves testing on physical machines without any hypervisor or virtualization software.

KVM (Kernel-based Virtual Machine) is a virtualization technology for Linux that allows running multiple virtual machines (VMs) on a single physical host. It leverages the Linux kernel to provide virtualization capabilities, enabling efficient and secure isolation between VMs. KVM test cases involve testing various aspects of virtualization, including VM creation, management, and functionality.

More details please refer to following.

BM Features

KVM Features

(TODO)

Report a problem

Submit an issue or initiate a discussion.

Contribute rule

Coding style

Any pull request are welcomed, the canonical patch format please refer to the Kernel patches submitting

Contact

Yi Sun [email protected]

License

See LICENSE for details.

lkvs's People

Contributors

ammyyi avatar crescentlove avatar dependabot[bot] avatar hanning0511 avatar haoliang-zhu avatar hongyuni avatar jiaanlu avatar kangshan1157 avatar laifryiee avatar lijunpanintel avatar qwang59 avatar rdower avatar wayne-ma avatar xhao22 avatar xupengfe avatar ysun avatar yujie-liu avatar zhangl6 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

lkvs's Issues

fix umip compilation issue

umip_exceptions.c:366:42: warning: format ‘%c’ expects argument of type ‘int’, but argument 2 has type ‘char *’ [-Wformat=]
  366 |                         printf("argv[2]:%c is not a char value.\n", argv[2]);
      |                                         ~^                          ~~~~~~~
      |                                          |                              |
      |                                          int                            char *
      |                                         %s

fix cet compilation issues.

test_shadow_stack.c:215:36: warning: format ‘%x’ expects argument of type ‘unsigned int’, but argument 2 has type ‘long unsigned int’ [-Wformat=]
  215 |         printf("[INFO]\tsaved_ssp:%x, saved_ssp_val:%x\n", saved_ssp,
      |                                   ~^                       ~~~~~~~~~
      |                                    |                       |
      |                                    unsigned int            long unsigned int
      |                                   %lx
test_shadow_stack.c:215:54: warning: format ‘%x’ expects argument of type ‘unsigned int’, but argument 3 has type ‘long unsigned int’ [-Wformat=]
  215 |         printf("[INFO]\tsaved_ssp:%x, saved_ssp_val:%x\n", saved_ssp,
      |                                                     ~^
      |                                                      |
      |                                                      unsigned int
      |                                                     %lx
  216 |                saved_ssp_val);
      |                ~~~~~~~~~~~~~                          
      |                |
      |                long unsigned int

wrss.c:127:67: warning: format ‘%x’ expects argument of type ‘unsigned int’, but argument 3 has type ‘long unsigned int’ [-Wformat=]
  127 |         printf("[INFO]\tWill write shstk from addr:%p, content:0x%x\n", shstk,
      |                                                                  ~^
      |                                                                   |
      |                                                                   unsigned int
      |                                                                  %lx
  128 |                *shstk);
      |                ~~~~~~                                              
      |                |
      |                long unsigned int

wrss.c:147:66: warning: format ‘%x’ expects argument of type ‘unsigned int’, but argument 3 has type ‘long unsigned int’ [-Wformat=]
  147 |         printf("[PASS]\twrss write succeded in addr:%p, content:%x\n", shstk,
      |                                                                 ~^
      |                                                                  |
      |                                                                  unsigned int
      |                                                                 %lx
  148 |                *shstk);
      |                ~~~~~~                                             
      |                |
      |                long unsigned int

wrss.c:167:50: warning: format ‘%x’ expects argument of type ‘unsigned int’, but argument 3 has type ‘long unsigned int’ [-Wformat=]
  167 |         printf("[INFO]\tSHSTK addr:%p,content:0x%x, illegal to change to 1.\n",
      |                                                 ~^
      |                                                  |
      |                                                  unsigned int
      |                                                 %lx
  168 |                 current_shstk, *current_shstk);
      |                                ~~~~~~~~~~~~~~     
      |                                |
      |                                long unsigned int

shstk_huge_page.c:131:53: warning: format ‘%p’ expects argument of type ‘void *’, but argument 2 has type ‘long unsigned int’ [-Wformat=]
  131 |         printf("[INFO]\trstorssp, print origin_ssp:%p(%lx) new_ssp:%lx(%lx)\n",
      |                                                    ~^
      |                                                     |
      |                                                     void *
      |                                                    %ld
  132 |                ssp_origin, *(unsigned long *)ssp_origin, new_ssp,
      |                ~~~~~~~~~~                            
      |                |
      |                long unsigned int

./runtests -f illegal parameter handle

[ Descripion ]
When an illegal paramenter given, runtests can not handle the negetive case.

[ Expection ]
Handle the negetive paramter, exit with error info.

cstate/tests-server fails with power_limit_check: command not found

when running cstate/tests-server, it occurs below issue

$ cd BM
$ ./runtests -f cstate/tests-server
<<<test start - 'powermgr_cstate_tests.sh -t verify_turbo_freq_in_c1e'>>
...
|0727_100551.601|TRACE|do_cmd() is called by powermgr_cstate_tests.sh:780:verify_single_cpu_freq()|
|0727_100551.611|TRACE|CMD=echo 0 > grep . /sys/devices/system/cpu/cpu94/cpuidle/state3/disable|
cstate/powermgr_cstate_tests.sh: line 785: power_limit_check: command not found
|0727_100551.637|TRACE|The package and core power limitation is NOT assert.|
|0727_100551.646|ERROR| common.sh:142:die() - FATAL: die() is called by powermgr_cstate_tests.sh:790:verify_single_cpu_freq()|
|0727_100551.656|ERROR| common.sh:143:die() - FATAL: 3506 is lower than 3700.0 without power limitation assert|

idxd is failed with ./intr.host_test.sh: No such file or directory

The issue can be reproduced by

$ cd lkvs/BM
$ ./runtests -f idxd/tests

<<<test start - './intr.host_test.sh -m dedicated -i 10 -t 1'>>
./runtests: line 255: ./intr.host_test.sh: No such file or directory
<<<test end, result: FAIL, duration: 0.007s>>

<<<test start - './intr.host_test.sh -m shared -i 10 -t 1'>>
./runtests: line 255: ./intr.host_test.sh: No such file or directory
<<<test end, result: FAIL, duration: 0.007s>>

<<<test start - './intr.host_test.sh -m dedicated -i 1000000 -t 1'>>
./runtests: line 255: ./intr.host_test.sh: No such file or directory
<<<test end, result: FAIL, duration: 0.007s>>

<<<test start - './intr.host_test.sh -m shared -i 1000000 -t 1'>>
./runtests: line 255: ./intr.host_test.sh: No such file or directory
<<<test end, result: FAIL, duration: 0.007s>>

TD Compliance test not aligned with SDM and TDX module spec

Hi

Here is the snippet of test log running from TD guest.

CR4_SET_X86_CR4_PCE skipped is expected, as TD has perfmon enabled
MSR_IA32_PRED_CMD is a Write Only MSR from SDM, why perform Read operation, expecting no exception.
Same with IA32_X2APIC stuff, no write allowed from SDM.
Could you please update test pattern per SDM?
thanks


186: CR4_SET_X86_CR4_PCE: SKIP
Error: MSR compliance test failed,exception 13, but expect_exception 0
196: MSR_IA32_PRED_CMD_read_1.0: FAIL
Error: MSR compliance test failed,exception 13, but expect_exception 0
214: MSR_IA32_ARCH_CAPABILITIES_write_1.0: FAIL
Error: MSR compliance test failed,exception 13, but expect_exception 0
215: MSR_IA32_FLUSH_CMD_read_1.0: FAIL
Error: MSR compliance test failed,exception 0, but expect_exception 20
221: MSR_IA32_MISC_ENABLE_write_1.0: FAIL
Error: MSR compliance test failed,exception 13, but expect_exception 0
352: IA32_X2APIC_PPR_write_1.0: FAIL
Error: MSR compliance test failed,exception 13, but expect_exception 0
356: IA32_X2APIC_ISRX_write_1.0: FAIL
Error: MSR compliance test failed,exception 13, but expect_exception 0
358: IA32_X2APIC_TMRX_write_1.0: FAIL
Error: MSR compliance test failed,exception 13, but expect_exception 0
360: IA32_X2APIC_IRRX_write_1.0: FAIL

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.