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
|
- uses: actions/checkout@v4
|
||||||
- name: run xmllint
|
- name: run xmllint
|
||||||
run: |
|
run: |
|
||||||
find libsel4 -name "sel4*.xml" | \
|
find libsel4 -name "object-api*.xml" | \
|
||||||
xargs xmllint --schema libsel4/tools/sel4_idl.xsd --noout
|
xargs xmllint --schema libsel4/tools/sel4_idl.xsd --noout
|
||||||
xmllint --schema libsel4/include/api/syscall.xsd --noout libsel4/include/api/syscall.xml
|
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
|
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)
|
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.
|
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
|
#### Other Changes
|
||||||
|
|
||||||
|
|||||||
@@ -405,7 +405,8 @@ set(xml_headers "")
|
|||||||
set(header_dest "gen_headers/arch/api/invocation.h")
|
set(header_dest "gen_headers/arch/api/invocation.h")
|
||||||
gen_invocation_header(
|
gen_invocation_header(
|
||||||
OUTPUT ${header_dest}
|
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
|
ARCH
|
||||||
)
|
)
|
||||||
list(APPEND xml_headers "${header_dest}")
|
list(APPEND xml_headers "${header_dest}")
|
||||||
@@ -415,7 +416,7 @@ set(header_dest "gen_headers/arch/api/sel4_invocation.h")
|
|||||||
gen_invocation_header(
|
gen_invocation_header(
|
||||||
OUTPUT "${header_dest}"
|
OUTPUT "${header_dest}"
|
||||||
XML
|
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
|
SEL4ARCH
|
||||||
)
|
)
|
||||||
list(APPEND xml_headers "${header_dest}")
|
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")
|
set(header_dest "gen_headers/api/invocation.h")
|
||||||
gen_invocation_header(
|
gen_invocation_header(
|
||||||
OUTPUT "${header_dest}"
|
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 xml_headers "${header_dest}")
|
||||||
list(APPEND gen_files_list "${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 "*.pbf"
|
||||||
PATTERN "api/syscall.xml"
|
PATTERN "api/syscall.xml"
|
||||||
PATTERN "api/syscall.xsd"
|
PATTERN "api/syscall.xsd"
|
||||||
|
PATTERN "object-api*.xml"
|
||||||
PATTERN "gen_config.json"
|
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 libsel4 sources to libsel4/src
|
||||||
install(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/libsel4/src/" DESTINATION libsel4/src)
|
install(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/libsel4/src/" DESTINATION libsel4/src)
|
||||||
# Install additional support files
|
# Install additional support files
|
||||||
|
|||||||
@@ -54,17 +54,22 @@ add_config_library(sel4 "${configure_string}")
|
|||||||
# Currently we use autoconf.h, so generate one of those
|
# Currently we use autoconf.h, so generate one of those
|
||||||
generate_autoconf(sel4_autoconf "kernel;sel4")
|
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(
|
gen_invocation_header(
|
||||||
OUTPUT sel4_arch_include/${KernelSel4Arch}/sel4/sel4_arch/invocation.h
|
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
|
LIBSEL4 SEL4ARCH
|
||||||
)
|
)
|
||||||
|
|
||||||
gen_invocation_header(
|
gen_invocation_header(
|
||||||
OUTPUT arch_include/${KernelArch}/sel4/arch/invocation.h
|
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
|
LIBSEL4 ARCH
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -142,9 +147,9 @@ add_custom_command(
|
|||||||
|
|
||||||
set(
|
set(
|
||||||
interface_xmls
|
interface_xmls
|
||||||
"${CMAKE_CURRENT_SOURCE_DIR}/sel4_arch_include/${KernelSel4Arch}/interfaces/sel4arch.xml"
|
"${CMAKE_CURRENT_SOURCE_DIR}/sel4_arch_include/${KernelSel4Arch}/interfaces/object-api-sel4-arch.xml"
|
||||||
"${CMAKE_CURRENT_SOURCE_DIR}/arch_include/${KernelArch}/interfaces/sel4arch.xml"
|
"${CMAKE_CURRENT_SOURCE_DIR}/arch_include/${KernelArch}/interfaces/object-api-arch.xml"
|
||||||
"${CMAKE_CURRENT_SOURCE_DIR}/include/interfaces/sel4.xml"
|
"${CMAKE_CURRENT_SOURCE_DIR}/include/interfaces/object-api.xml"
|
||||||
)
|
)
|
||||||
|
|
||||||
add_custom_command(
|
add_custom_command(
|
||||||
|
|||||||
@@ -162,14 +162,14 @@ ${GeneratedMarkdownDir}/%.md: ${DoxygenXml}/group__%.xml Makefile
|
|||||||
generated-markdown: $(addsuffix .md, $(addprefix ${GeneratedMarkdownDir}/, ${SYSCALLS} ${OBJECTS}))
|
generated-markdown: $(addsuffix .md, $(addprefix ${GeneratedMarkdownDir}/, ${SYSCALLS} ${OBJECTS}))
|
||||||
|
|
||||||
# Generate object invocation prototypes
|
# Generate object invocation prototypes
|
||||||
${Stage}/group_defs.h: ${Libsel4Dir}/include/interfaces/sel4.xml \
|
${Stage}/group_defs.h: ${Libsel4Dir}/include/interfaces/object-api.xml \
|
||||||
${Libsel4Dir}/arch_include/x86/interfaces/sel4arch.xml \
|
${Libsel4Dir}/arch_include/x86/interfaces/object-api-arch.xml \
|
||||||
${Libsel4Dir}/arch_include/arm/interfaces/sel4arch.xml \
|
${Libsel4Dir}/arch_include/arm/interfaces/object-api-arch.xml \
|
||||||
${Libsel4Dir}/sel4_arch_include/aarch32/interfaces/sel4arch.xml \
|
${Libsel4Dir}/sel4_arch_include/aarch32/interfaces/object-api-sel4-arch.xml \
|
||||||
${Libsel4Dir}/sel4_arch_include/aarch64/interfaces/sel4arch.xml \
|
${Libsel4Dir}/sel4_arch_include/aarch64/interfaces/object-api-sel4-arch.xml \
|
||||||
${Libsel4Dir}/sel4_arch_include/ia32/interfaces/sel4arch.xml \
|
${Libsel4Dir}/sel4_arch_include/ia32/interfaces/object-api-sel4-arch.xml \
|
||||||
${Libsel4Dir}/sel4_arch_include/x86_64/interfaces/sel4arch.xml \
|
${Libsel4Dir}/sel4_arch_include/x86_64/interfaces/object-api-sel4-arch.xml \
|
||||||
${Libsel4Dir}/arch_include/riscv/interfaces/sel4arch.xml
|
${Libsel4Dir}/arch_include/riscv/interfaces/object-api-arch.xml
|
||||||
@echo "====> Generating documented object invocation header"
|
@echo "====> Generating documented object invocation header"
|
||||||
${Q}${PYTHON} ${GenerateObjectInvocationTool} --dtd ${InterfaceDtd} --output ${Stage} $^
|
${Q}${PYTHON} ${GenerateObjectInvocationTool} --dtd ${InterfaceDtd} --output ${Stage} $^
|
||||||
|
|
||||||
|
|||||||
@@ -5,9 +5,9 @@
|
|||||||
# SPDX-License-Identifier: BSD-2-Clause
|
# 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
|
if [ -z "$xml_sources" ]; then
|
||||||
echo "Unable to find sel4arch.xml files"
|
echo "Unable to find object-api*.xml files"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user