1*7304104dSAndroid Build Coastguard Worker#! /bin/sh 2*7304104dSAndroid Build Coastguard Worker 3*7304104dSAndroid Build Coastguard Worker. $srcdir/strip-reloc-subr.sh 4*7304104dSAndroid Build Coastguard Worker 5*7304104dSAndroid Build Coastguard Workertestfiles hello_i386.ko hello_x86_64.ko hello_ppc64.ko hello_s390.ko \ 6*7304104dSAndroid Build Coastguard Worker hello_aarch64.ko hello_m68k.ko hello_riscv64.ko hello_csky.ko \ 7*7304104dSAndroid Build Coastguard Worker hello_arc_hs4.ko 8*7304104dSAndroid Build Coastguard Worker 9*7304104dSAndroid Build Coastguard Worker# Most simple hello world kernel module for various architectures. 10*7304104dSAndroid Build Coastguard Worker# Make sure that it contains debuginfo with CONFIG_DEBUG_INFO=y. 11*7304104dSAndroid Build Coastguard Worker# :::::::::::::: 12*7304104dSAndroid Build Coastguard Worker# Makefile 13*7304104dSAndroid Build Coastguard Worker# :::::::::::::: 14*7304104dSAndroid Build Coastguard Worker# obj-m := hello.o 15*7304104dSAndroid Build Coastguard Worker# hello-y := init.o exit.o 16*7304104dSAndroid Build Coastguard Worker# 17*7304104dSAndroid Build Coastguard Worker# all: 18*7304104dSAndroid Build Coastguard Worker# make -C /lib/modules/$(shell uname -r)/build M=$(PWD) \ 19*7304104dSAndroid Build Coastguard Worker# CONFIG_DEBUG_INFO=y modules 20*7304104dSAndroid Build Coastguard Worker# :::::::::::::: 21*7304104dSAndroid Build Coastguard Worker# init.c 22*7304104dSAndroid Build Coastguard Worker# :::::::::::::: 23*7304104dSAndroid Build Coastguard Worker# #include <linux/kernel.h> 24*7304104dSAndroid Build Coastguard Worker# #include <linux/module.h> 25*7304104dSAndroid Build Coastguard Worker# 26*7304104dSAndroid Build Coastguard Worker# int init_module(void) 27*7304104dSAndroid Build Coastguard Worker# { 28*7304104dSAndroid Build Coastguard Worker# printk(KERN_INFO "Hello, world!\n"); 29*7304104dSAndroid Build Coastguard Worker# return 0; 30*7304104dSAndroid Build Coastguard Worker# } 31*7304104dSAndroid Build Coastguard Worker# :::::::::::::: 32*7304104dSAndroid Build Coastguard Worker# exit.c 33*7304104dSAndroid Build Coastguard Worker# :::::::::::::: 34*7304104dSAndroid Build Coastguard Worker# #include <linux/kernel.h> 35*7304104dSAndroid Build Coastguard Worker# #include <linux/module.h> 36*7304104dSAndroid Build Coastguard Worker# 37*7304104dSAndroid Build Coastguard Worker# void cleanup_module() 38*7304104dSAndroid Build Coastguard Worker# { 39*7304104dSAndroid Build Coastguard Worker# printk(KERN_INFO "Goodbye, World!\n"); 40*7304104dSAndroid Build Coastguard Worker# } 41*7304104dSAndroid Build Coastguard Workerruntest hello_i386.ko 1 42*7304104dSAndroid Build Coastguard Workerruntest hello_x86_64.ko 1 43*7304104dSAndroid Build Coastguard Workerruntest hello_ppc64.ko 1 44*7304104dSAndroid Build Coastguard Workerruntest hello_s390.ko 1 45*7304104dSAndroid Build Coastguard Workerruntest hello_aarch64.ko 1 46*7304104dSAndroid Build Coastguard Workerruntest hello_m68k.ko 1 47*7304104dSAndroid Build Coastguard Workerruntest hello_riscv64.ko 1 48*7304104dSAndroid Build Coastguard Workerruntest hello_csky.ko 1 49*7304104dSAndroid Build Coastguard Workerruntest hello_arc_hs4.ko 1 50*7304104dSAndroid Build Coastguard Worker 51*7304104dSAndroid Build Coastguard Workerexit $runtest_status 52