-
Notifications
You must be signed in to change notification settings - Fork 28
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Guest test td func 1213 #154
Changes from 1 commit
0bef27e
fbde880
205ecaf
fc167cf
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
halt_test.ko |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
# SPDX-License-Identifier: GPL-2.0-only | ||
|
||
MODULES = halt_test.ko | ||
|
||
obj-m += halt_test.o | ||
|
||
KDIR ?= /lib/modules/$(shell uname -r)/build | ||
|
||
all: | ||
make -C $(KDIR) M=$(PWD) modules | ||
clean: | ||
make -C $(KDIR) M=$(PWD) clean |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
// SPDX-License-Identifier: GPL-2.0-only | ||
#include <linux/init.h> | ||
#include <linux/kernel.h> | ||
#include <linux/module.h> | ||
|
||
static int __init test_tdx_hlt_init(void) | ||
{ | ||
pr_info("[TD guest test] Start to trigger hlt instr.\n"); | ||
asm("cli"); | ||
asm("hlt"); | ||
return 0; | ||
} | ||
|
||
static void __exit test_tdx_hlt_exit(void) | ||
{ | ||
pr_info("[TD guest test] Complete of hlt instr. test, test module exit\n"); | ||
} | ||
|
||
module_init(test_tdx_hlt_init); | ||
module_exit(test_tdx_hlt_exit); | ||
MODULE_INFO(intree, "Y"); | ||
MODULE_LICENSE("GPL"); |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,38 @@ | ||
#!/usr/bin/bash | ||
# SPDX-License-Identifier: GPL-2.0-only | ||
# Copyright (c) 2023 Intel Corporation | ||
|
||
# Author: Hongyu Ning <[email protected]> | ||
# | ||
# History: 13, Dec., 2023 - Hongyu Ning - creation | ||
|
||
|
||
# @desc This script do test by kernel test module in TDX Guest VM | ||
|
||
###################### Variables ###################### | ||
SCRIPT_DIR="$( cd "$( dirname "$0" )" && pwd )" | ||
echo "$SCRIPT_DIR" | ||
source common.sh | ||
test_module=$1 | ||
|
||
###################### Functions ###################### | ||
module_check() { | ||
lsmod | grep "$test_module" || \ | ||
{ die "test module $test_module not found in lsmod"; return 1; } | ||
test_print_trc "test module loaded and test should be completed now" | ||
} | ||
|
||
###################### Do Works ###################### | ||
if [[ -f "$test_module".ko ]]; then | ||
test_print_trc "Kernel test module: $test_module.ko is ready for test" | ||
insmod "$test_module".ko || \ | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Hi Hongyu, it seems that you haven't created the module. I guess it needs to be compiled before inserting it. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. there is a test module (the following: guest-test/tdx/tdx_halt_test_module/halt_test.c) being compiled before above test script execution |
||
{ die "Fail to insmod test module $test_module.ko"; exit 1; } | ||
test_print_trc "$test_module.ko inserted and hlt instruction triggered" | ||
module_check | ||
sleep 3 | ||
rmmod "$test_module" || \ | ||
{ die "Fail to rmmod test module $test_module.ko"; exit 1; } | ||
else | ||
die "Kernel test module $test_module.ko not found" | ||
exit 1 | ||
fi |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is it worthwhile to create a separate kernel module for this?
I have an idea about creating a common test module in LKVS.
Let's have a discussion later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
that would be nice, let's discuss your common test module solution