mirror of
https://github.com/seL4/seL4.git
synced 2026-03-27 10:29:57 +00:00
libsel4: rename interface XML files
Before, some object API XML files conflicted when the include, arch_include, and sel4_arch_include directories were combined: - include/interfaces/sel4.xml - arch_include/*/interfaces/sel4arch.xml - sel4_arch_include/*/interfaces/sel4arch.xml This commit renames them to: - include/interfaces/object-api.xml - arch_include/*/interfaces/object-api-arch.xml - sel4_arch_include/*/interfaces/object-api-sel4-arch.xml Now, when the include, arch_include, and sel4_arch_include directories are combined, we are left with: - interfaces/object-api.xml - interfaces/object-api-arch.xml - interfaces/object-api-sel4-arch.xml Signed-off-by: Nick Spinale <nick@nickspinale.com>
This commit is contained in:
committed by
Gerwin Klein
parent
9a22e40b46
commit
dbd6efc507
2
.github/workflows/xml_lint.yml
vendored
2
.github/workflows/xml_lint.yml
vendored
@@ -34,6 +34,6 @@ jobs:
|
||||
- uses: actions/checkout@v4
|
||||
- name: run xmllint
|
||||
run: |
|
||||
find libsel4 -name "sel4*.xml" | \
|
||||
find libsel4 -name "object-api*.xml" | \
|
||||
xargs xmllint --schema libsel4/tools/sel4_idl.xsd --noout
|
||||
xmllint --schema libsel4/include/api/syscall.xsd --noout libsel4/include/api/syscall.xml
|
||||
|
||||
@@ -101,6 +101,10 @@ description indicates whether it is SOURCE-COMPATIBLE, BINARY-COMPATIBLE, or BRE
|
||||
The configuration option is not enabled by default as it requires access to the CLINT which depends on the platform
|
||||
and whether the M-mode firmware allows S-mode to access the CLINT. For example, newer versions of OpenSBI (1.0 and above)
|
||||
do not allow direct access of the CLINT.
|
||||
* Rename object interface files `include/interfaces/sel4.xml`, `arch_include/*/interfaces/sel4arch.xml`, and
|
||||
`sel4_arch_include/*/interfaces/sel4arch.xml` to `include/interfaces/object-api.xml`,
|
||||
`arch_include/*/interfaces/object-api-arch.xml`, and `sel4_arch_include/*/interfaces/object-api-sel4-arch.xml`,
|
||||
respectively.
|
||||
|
||||
#### Other Changes
|
||||
|
||||
|
||||
@@ -405,7 +405,8 @@ set(xml_headers "")
|
||||
set(header_dest "gen_headers/arch/api/invocation.h")
|
||||
gen_invocation_header(
|
||||
OUTPUT ${header_dest}
|
||||
XML ${CMAKE_CURRENT_SOURCE_DIR}/libsel4/arch_include/${KernelArch}/interfaces/sel4arch.xml
|
||||
XML
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/libsel4/arch_include/${KernelArch}/interfaces/object-api-arch.xml
|
||||
ARCH
|
||||
)
|
||||
list(APPEND xml_headers "${header_dest}")
|
||||
@@ -415,7 +416,7 @@ set(header_dest "gen_headers/arch/api/sel4_invocation.h")
|
||||
gen_invocation_header(
|
||||
OUTPUT "${header_dest}"
|
||||
XML
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/libsel4/sel4_arch_include/${KernelSel4Arch}/interfaces/sel4arch.xml"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/libsel4/sel4_arch_include/${KernelSel4Arch}/interfaces/object-api-sel4-arch.xml"
|
||||
SEL4ARCH
|
||||
)
|
||||
list(APPEND xml_headers "${header_dest}")
|
||||
@@ -424,7 +425,7 @@ list(APPEND gen_files_list "${header_dest}")
|
||||
set(header_dest "gen_headers/api/invocation.h")
|
||||
gen_invocation_header(
|
||||
OUTPUT "${header_dest}"
|
||||
XML "${CMAKE_CURRENT_SOURCE_DIR}/libsel4/include/interfaces/sel4.xml"
|
||||
XML "${CMAKE_CURRENT_SOURCE_DIR}/libsel4/include/interfaces/object-api.xml"
|
||||
)
|
||||
list(APPEND xml_headers "${header_dest}")
|
||||
list(APPEND gen_files_list "${header_dest}")
|
||||
@@ -742,26 +743,9 @@ if("${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_CURRENT_SOURCE_DIR}")
|
||||
PATTERN "*.pbf"
|
||||
PATTERN "api/syscall.xml"
|
||||
PATTERN "api/syscall.xsd"
|
||||
PATTERN "object-api*.xml"
|
||||
PATTERN "gen_config.json"
|
||||
)
|
||||
# Manually install object API files with non-conflicting names
|
||||
install(
|
||||
FILES "${CMAKE_CURRENT_SOURCE_DIR}/libsel4/include/interfaces/sel4.xml"
|
||||
DESTINATION libsel4/include/interfaces
|
||||
RENAME object-api.xml
|
||||
)
|
||||
install(
|
||||
FILES
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/libsel4/arch_include/${KernelArch}/interfaces/sel4arch.xml"
|
||||
DESTINATION libsel4/include/interfaces
|
||||
RENAME object-api-arch.xml
|
||||
)
|
||||
install(
|
||||
FILES
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/libsel4/sel4_arch_include/${KernelSel4Arch}/interfaces/sel4arch.xml"
|
||||
DESTINATION libsel4/include/interfaces
|
||||
RENAME object-api-sel4-arch.xml
|
||||
)
|
||||
# Install libsel4 sources to libsel4/src
|
||||
install(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/libsel4/src/" DESTINATION libsel4/src)
|
||||
# Install additional support files
|
||||
|
||||
@@ -54,17 +54,22 @@ add_config_library(sel4 "${configure_string}")
|
||||
# Currently we use autoconf.h, so generate one of those
|
||||
generate_autoconf(sel4_autoconf "kernel;sel4")
|
||||
|
||||
gen_invocation_header(OUTPUT include/sel4/invocation.h XML include/interfaces/sel4.xml LIBSEL4)
|
||||
gen_invocation_header(
|
||||
OUTPUT include/sel4/invocation.h
|
||||
XML include/interfaces/object-api.xml
|
||||
LIBSEL4
|
||||
)
|
||||
|
||||
gen_invocation_header(
|
||||
OUTPUT sel4_arch_include/${KernelSel4Arch}/sel4/sel4_arch/invocation.h
|
||||
XML "${CMAKE_CURRENT_SOURCE_DIR}/sel4_arch_include/${KernelSel4Arch}/interfaces/sel4arch.xml"
|
||||
XML
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/sel4_arch_include/${KernelSel4Arch}/interfaces/object-api-sel4-arch.xml"
|
||||
LIBSEL4 SEL4ARCH
|
||||
)
|
||||
|
||||
gen_invocation_header(
|
||||
OUTPUT arch_include/${KernelArch}/sel4/arch/invocation.h
|
||||
XML "${CMAKE_CURRENT_SOURCE_DIR}/arch_include/${KernelArch}/interfaces/sel4arch.xml"
|
||||
XML "${CMAKE_CURRENT_SOURCE_DIR}/arch_include/${KernelArch}/interfaces/object-api-arch.xml"
|
||||
LIBSEL4 ARCH
|
||||
)
|
||||
|
||||
@@ -142,9 +147,9 @@ add_custom_command(
|
||||
|
||||
set(
|
||||
interface_xmls
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/sel4_arch_include/${KernelSel4Arch}/interfaces/sel4arch.xml"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/arch_include/${KernelArch}/interfaces/sel4arch.xml"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/include/interfaces/sel4.xml"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/sel4_arch_include/${KernelSel4Arch}/interfaces/object-api-sel4-arch.xml"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/arch_include/${KernelArch}/interfaces/object-api-arch.xml"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/include/interfaces/object-api.xml"
|
||||
)
|
||||
|
||||
add_custom_command(
|
||||
|
||||
@@ -162,14 +162,14 @@ ${GeneratedMarkdownDir}/%.md: ${DoxygenXml}/group__%.xml Makefile
|
||||
generated-markdown: $(addsuffix .md, $(addprefix ${GeneratedMarkdownDir}/, ${SYSCALLS} ${OBJECTS}))
|
||||
|
||||
# Generate object invocation prototypes
|
||||
${Stage}/group_defs.h: ${Libsel4Dir}/include/interfaces/sel4.xml \
|
||||
${Libsel4Dir}/arch_include/x86/interfaces/sel4arch.xml \
|
||||
${Libsel4Dir}/arch_include/arm/interfaces/sel4arch.xml \
|
||||
${Libsel4Dir}/sel4_arch_include/aarch32/interfaces/sel4arch.xml \
|
||||
${Libsel4Dir}/sel4_arch_include/aarch64/interfaces/sel4arch.xml \
|
||||
${Libsel4Dir}/sel4_arch_include/ia32/interfaces/sel4arch.xml \
|
||||
${Libsel4Dir}/sel4_arch_include/x86_64/interfaces/sel4arch.xml \
|
||||
${Libsel4Dir}/arch_include/riscv/interfaces/sel4arch.xml
|
||||
${Stage}/group_defs.h: ${Libsel4Dir}/include/interfaces/object-api.xml \
|
||||
${Libsel4Dir}/arch_include/x86/interfaces/object-api-arch.xml \
|
||||
${Libsel4Dir}/arch_include/arm/interfaces/object-api-arch.xml \
|
||||
${Libsel4Dir}/sel4_arch_include/aarch32/interfaces/object-api-sel4-arch.xml \
|
||||
${Libsel4Dir}/sel4_arch_include/aarch64/interfaces/object-api-sel4-arch.xml \
|
||||
${Libsel4Dir}/sel4_arch_include/ia32/interfaces/object-api-sel4-arch.xml \
|
||||
${Libsel4Dir}/sel4_arch_include/x86_64/interfaces/object-api-sel4-arch.xml \
|
||||
${Libsel4Dir}/arch_include/riscv/interfaces/object-api-arch.xml
|
||||
@echo "====> Generating documented object invocation header"
|
||||
${Q}${PYTHON} ${GenerateObjectInvocationTool} --dtd ${InterfaceDtd} --output ${Stage} $^
|
||||
|
||||
|
||||
@@ -5,9 +5,9 @@
|
||||
# SPDX-License-Identifier: BSD-2-Clause
|
||||
#
|
||||
|
||||
xml_sources=$(find ../libsel4/arch_include/*/interfaces ../libsel4/sel4_arch_include/*/interfaces -name 'sel4arch.xml')
|
||||
xml_sources=$(find ../libsel4/arch_include/*/interfaces ../libsel4/sel4_arch_include/*/interfaces -name 'object-api*.xml')
|
||||
if [ -z "$xml_sources" ]; then
|
||||
echo "Unable to find sel4arch.xml files"
|
||||
echo "Unable to find object-api*.xml files"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
||||
Reference in New Issue
Block a user