X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=kitten%2Fkernel%2Felf.c;fp=kitten%2Fkernel%2Felf.c;h=99e57ac058daf285bdb2788937809bbc58b89662;hb=66a1a4c7a9edcd7d8bc207aca093d694a6e6b5b2;hp=0000000000000000000000000000000000000000;hpb=f7cf9c19ecb0a589dd45ae0d2c91814bd3c2acc2;p=palacios.git diff --git a/kitten/kernel/elf.c b/kitten/kernel/elf.c new file mode 100644 index 0000000..99e57ac --- /dev/null +++ b/kitten/kernel/elf.c @@ -0,0 +1,28 @@ +#include +#include +#include +#include + +int +elf_hwcap(id_t cpu, uint32_t *hwcap) +{ + if (!cpu_isset(cpu, cpu_online_map)) + return -ENOENT; + *hwcap = ELF_HWCAP(cpu); + return 0; +} + +int +sys_elf_hwcap(id_t cpu, uint32_t __user *hwcap) +{ + int status; + uint32_t _hwcap; + + if ((status = elf_hwcap(cpu, &_hwcap)) != 0) + return status; + + if (hwcap && copy_to_user(hwcap, &_hwcap, sizeof(_hwcap))) + return -EINVAL; + + return 0; +}