From dbd6efc5072e18133d070b24d0c13436c1c15bd2 Mon Sep 17 00:00:00 2001 From: Nick Spinale Date: Wed, 30 Nov 2022 13:02:56 +0000 Subject: [PATCH] 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 --- .github/workflows/xml_lint.yml | 2 +- CHANGES.md | 4 +++ CMakeLists.txt | 26 ++++--------------- libsel4/CMakeLists.txt | 17 +++++++----- .../{sel4arch.xml => object-api-arch.xml} | 0 .../{sel4arch.xml => object-api-arch.xml} | 0 .../{sel4arch.xml => object-api-arch.xml} | 0 .../interfaces/{sel4.xml => object-api.xml} | 0 ...{sel4arch.xml => object-api-sel4-arch.xml} | 0 ...{sel4arch.xml => object-api-sel4-arch.xml} | 0 ...{sel4arch.xml => object-api-sel4-arch.xml} | 0 ...{sel4arch.xml => object-api-sel4-arch.xml} | 0 ...{sel4arch.xml => object-api-sel4-arch.xml} | 0 ...{sel4arch.xml => object-api-sel4-arch.xml} | 0 manual/Makefile | 16 ++++++------ tools/kernel_xmllint.sh | 4 +-- 16 files changed, 31 insertions(+), 38 deletions(-) rename libsel4/arch_include/arm/interfaces/{sel4arch.xml => object-api-arch.xml} (100%) rename libsel4/arch_include/riscv/interfaces/{sel4arch.xml => object-api-arch.xml} (100%) rename libsel4/arch_include/x86/interfaces/{sel4arch.xml => object-api-arch.xml} (100%) rename libsel4/include/interfaces/{sel4.xml => object-api.xml} (100%) rename libsel4/sel4_arch_include/aarch32/interfaces/{sel4arch.xml => object-api-sel4-arch.xml} (100%) rename libsel4/sel4_arch_include/aarch64/interfaces/{sel4arch.xml => object-api-sel4-arch.xml} (100%) rename libsel4/sel4_arch_include/ia32/interfaces/{sel4arch.xml => object-api-sel4-arch.xml} (100%) rename libsel4/sel4_arch_include/riscv32/interfaces/{sel4arch.xml => object-api-sel4-arch.xml} (100%) rename libsel4/sel4_arch_include/riscv64/interfaces/{sel4arch.xml => object-api-sel4-arch.xml} (100%) rename libsel4/sel4_arch_include/x86_64/interfaces/{sel4arch.xml => object-api-sel4-arch.xml} (100%) diff --git a/.github/workflows/xml_lint.yml b/.github/workflows/xml_lint.yml index 658f8c231..229073f83 100644 --- a/.github/workflows/xml_lint.yml +++ b/.github/workflows/xml_lint.yml @@ -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 diff --git a/CHANGES.md b/CHANGES.md index bb8923ae9..9c8e6b125 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -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 diff --git a/CMakeLists.txt b/CMakeLists.txt index 5e59eb36b..ea74245cf 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -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 diff --git a/libsel4/CMakeLists.txt b/libsel4/CMakeLists.txt index 0c6a17e67..61415a7fc 100644 --- a/libsel4/CMakeLists.txt +++ b/libsel4/CMakeLists.txt @@ -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( diff --git a/libsel4/arch_include/arm/interfaces/sel4arch.xml b/libsel4/arch_include/arm/interfaces/object-api-arch.xml similarity index 100% rename from libsel4/arch_include/arm/interfaces/sel4arch.xml rename to libsel4/arch_include/arm/interfaces/object-api-arch.xml diff --git a/libsel4/arch_include/riscv/interfaces/sel4arch.xml b/libsel4/arch_include/riscv/interfaces/object-api-arch.xml similarity index 100% rename from libsel4/arch_include/riscv/interfaces/sel4arch.xml rename to libsel4/arch_include/riscv/interfaces/object-api-arch.xml diff --git a/libsel4/arch_include/x86/interfaces/sel4arch.xml b/libsel4/arch_include/x86/interfaces/object-api-arch.xml similarity index 100% rename from libsel4/arch_include/x86/interfaces/sel4arch.xml rename to libsel4/arch_include/x86/interfaces/object-api-arch.xml diff --git a/libsel4/include/interfaces/sel4.xml b/libsel4/include/interfaces/object-api.xml similarity index 100% rename from libsel4/include/interfaces/sel4.xml rename to libsel4/include/interfaces/object-api.xml diff --git a/libsel4/sel4_arch_include/aarch32/interfaces/sel4arch.xml b/libsel4/sel4_arch_include/aarch32/interfaces/object-api-sel4-arch.xml similarity index 100% rename from libsel4/sel4_arch_include/aarch32/interfaces/sel4arch.xml rename to libsel4/sel4_arch_include/aarch32/interfaces/object-api-sel4-arch.xml diff --git a/libsel4/sel4_arch_include/aarch64/interfaces/sel4arch.xml b/libsel4/sel4_arch_include/aarch64/interfaces/object-api-sel4-arch.xml similarity index 100% rename from libsel4/sel4_arch_include/aarch64/interfaces/sel4arch.xml rename to libsel4/sel4_arch_include/aarch64/interfaces/object-api-sel4-arch.xml diff --git a/libsel4/sel4_arch_include/ia32/interfaces/sel4arch.xml b/libsel4/sel4_arch_include/ia32/interfaces/object-api-sel4-arch.xml similarity index 100% rename from libsel4/sel4_arch_include/ia32/interfaces/sel4arch.xml rename to libsel4/sel4_arch_include/ia32/interfaces/object-api-sel4-arch.xml diff --git a/libsel4/sel4_arch_include/riscv32/interfaces/sel4arch.xml b/libsel4/sel4_arch_include/riscv32/interfaces/object-api-sel4-arch.xml similarity index 100% rename from libsel4/sel4_arch_include/riscv32/interfaces/sel4arch.xml rename to libsel4/sel4_arch_include/riscv32/interfaces/object-api-sel4-arch.xml diff --git a/libsel4/sel4_arch_include/riscv64/interfaces/sel4arch.xml b/libsel4/sel4_arch_include/riscv64/interfaces/object-api-sel4-arch.xml similarity index 100% rename from libsel4/sel4_arch_include/riscv64/interfaces/sel4arch.xml rename to libsel4/sel4_arch_include/riscv64/interfaces/object-api-sel4-arch.xml diff --git a/libsel4/sel4_arch_include/x86_64/interfaces/sel4arch.xml b/libsel4/sel4_arch_include/x86_64/interfaces/object-api-sel4-arch.xml similarity index 100% rename from libsel4/sel4_arch_include/x86_64/interfaces/sel4arch.xml rename to libsel4/sel4_arch_include/x86_64/interfaces/object-api-sel4-arch.xml diff --git a/manual/Makefile b/manual/Makefile index a0c5d9df8..9471ac320 100644 --- a/manual/Makefile +++ b/manual/Makefile @@ -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} $^ diff --git a/tools/kernel_xmllint.sh b/tools/kernel_xmllint.sh index 226dd2168..6eb2d07a1 100755 --- a/tools/kernel_xmllint.sh +++ b/tools/kernel_xmllint.sh @@ -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