Hello,
if I compile and link seL4 5.2.0
ARCH=x86 PLAT=pc99 SEL4_ARCH=x86_64 make
and I finally try to use the generated syscall/libsel4 headers, the compiler complains about missing seL4_Fault types and functions in
libsel4/sel4_arch_include/x86_64/sel4/sel4_arch/faults.h
like
seL4_Fault_t seL4_Fault_tag seL4_Fault_VMFault_new
and a lot more.
These structs and functions seems to be generated only for the kernel side, e.g. in kernel_final.c they show up, but there are no traces of them on the user level side.
Do I just miss a configuration option ?
Thanks,
Hi Alexander,
They get generated as part of the compilation of the libsel4 library, which is separate to the kernel compilation. See the libsel4 Makefile (https://github.com/seL4/seL4/blob/master/libsel4/Makefile)
Adrian
On Wed 14-Jun-2017 1:32 AM, Alexander Boettcher wrote:
Hello,
if I compile and link seL4 5.2.0
ARCH=x86 PLAT=pc99 SEL4_ARCH=x86_64 make
and I finally try to use the generated syscall/libsel4 headers, the compiler complains about missing seL4_Fault types and functions in
libsel4/sel4_arch_include/x86_64/sel4/sel4_arch/faults.h
like
seL4_Fault_t seL4_Fault_tag seL4_Fault_VMFault_new
and a lot more.
These structs and functions seems to be generated only for the kernel side, e.g. in kernel_final.c they show up, but there are no traces of them on the user level side.
Do I just miss a configuration option ?
Thanks,
Hi Adrian,
On 14.06.2017 04:11, Adrian.Danis@data61.csiro.au wrote:
They get generated as part of the compilation of the libsel4 library, which is separate to the kernel compilation. See the libsel4 Makefile (https://github.com/seL4/seL4/blob/master/libsel4/Makefile)
libsel4/Makefile is not free-standing (missing common.mk in the seL4 kernel git), so I was not able to run it actually. I found the file in the camkes repository and got now an idea what to adapt on our side. Finally, I got my missing seL4_Fault* friends generated.
In general, would it be possible to ship the already generated syscall headers instead of generating it ? Maybe, at least for a specific seL4 release it would be helpful. The generation infrastructure with all the python magic is not easy to grasp (and to maintain for a external project).
Thanks,
Alex.
Adrian
On Wed 14-Jun-2017 1:32 AM, Alexander Boettcher wrote:
Hello,
if I compile and link seL4 5.2.0
ARCH=x86 PLAT=pc99 SEL4_ARCH=x86_64 make
and I finally try to use the generated syscall/libsel4 headers, the compiler complains about missing seL4_Fault types and functions in
libsel4/sel4_arch_include/x86_64/sel4/sel4_arch/faults.h
like
seL4_Fault_t seL4_Fault_tag seL4_Fault_VMFault_new
and a lot more.
These structs and functions seems to be generated only for the kernel side, e.g. in kernel_final.c they show up, but there are no traces of them on the user level side.
Do I just miss a configuration option ?
Thanks,
Hi Alex,
Yes libsel4 assumes it is being built as part of our larger common project build environment (https://github.com/seL4/seL4_tools/tree/master/common-tool).
Again the build system improvements that I said were coming should also solve this, so if you've managed to find a work around for now I would prefer not to spend time patching what is definitely a broken system.
Adrian
On Wed 14-Jun-2017 7:56 PM, Alexander Boettcher wrote:
Hi Adrian,
On 14.06.2017 04:11, Adrian.Danis@data61.csiro.aumailto:Adrian.Danis@data61.csiro.au wrote:
They get generated as part of the compilation of the libsel4 library, which is separate to the kernel compilation. See the libsel4 Makefile (https://github.com/seL4/seL4/blob/master/libsel4/Makefile)
libsel4/Makefile is not free-standing (missing common.mk in the seL4 kernel git), so I was not able to run it actually. I found the file in the camkes repository and got now an idea what to adapt on our side. Finally, I got my missing seL4_Fault* friends generated.
In general, would it be possible to ship the already generated syscall headers instead of generating it ? Maybe, at least for a specific seL4 release it would be helpful. The generation infrastructure with all the python magic is not easy to grasp (and to maintain for a external project).
Thanks,
Alex.
Adrian
On Wed 14-Jun-2017 1:32 AM, Alexander Boettcher wrote:
Hello,
if I compile and link seL4 5.2.0
ARCH=x86 PLAT=pc99 SEL4_ARCH=x86_64 make
and I finally try to use the generated syscall/libsel4 headers, the compiler complains about missing seL4_Fault types and functions in
libsel4/sel4_arch_include/x86_64/sel4/sel4_arch/faults.h
like
seL4_Fault_t seL4_Fault_tag seL4_Fault_VMFault_new
and a lot more.
These structs and functions seems to be generated only for the kernel side, e.g. in kernel_final.c they show up, but there are no traces of them on the user level side.
Do I just miss a configuration option ?
Thanks,
Hi Adrian,
On 15.06.2017 02:46, Adrian.Danis@data61.csiro.au wrote:
Yes libsel4 assumes it is being built as part of our larger common project build environment (https://github.com/seL4/seL4_tools/tree/master/common-tool).
Again the build system improvements that I said were coming should also solve this, so if you've managed to find a work around for now I would prefer not to spend time patching what is definitely a broken system.
we are fine now. In case you need some (external) feedback/testing if you change things in that regard, just send us a note.
Alex.