Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Aem staging 14 10 24 rebase #19

Merged
merged 46 commits into from
Nov 28, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
3128d72
x86/boot: introduce module release
dpsmith Nov 15, 2024
3ac41c6
x86/mm: fix IS_LnE_ALIGNED() to comply with Misra Rule 20.7
royger Nov 19, 2024
9e8c97f
x86/msi: prune unused macros
royger Nov 19, 2024
488579e
x86/msi: fix Misra Rule 20.7 in msi.h
royger Nov 19, 2024
429840a
xen/bootinfo: Include declaration for fw_unreserved_regions()
andyhhp Nov 18, 2024
a1ed107
x86/boot: Introduce boot-helpers.h
andyhhp Nov 18, 2024
6308301
x86/pmstat: deal with Misra 8.4 violations
jbeulich Nov 19, 2024
cd7cc53
x86/boot: add start and size fields to struct boot_module
dpsmith Nov 15, 2024
22d9e75
misra: increase identifiers length to 63 and align doc with ECLAIR co…
sstabellini Nov 19, 2024
96efb13
bootfdt: Unify early printing of memory ranges endpoints
orzelmichal Nov 19, 2024
5726d8e
CI: Remove deprecated "only:variables" in favor of "rules:if"
tperard Nov 19, 2024
a231538
CI: Define XEN_REGISTRY variable
tperard Nov 19, 2024
5cc971a
CI: New stage "containers" to rebuild some containers
tperard Nov 19, 2024
e36ed99
QUBESOS: xen.efi.build
Jul 8, 2024
11aee11
QUBESOS: x86/boot/Makefile: align text_diff to 0x40 bytes
krystian-hebel Nov 8, 2024
69b517e
.github/workflows/coverity.yml: remove file
krystian-hebel Nov 6, 2024
b546c08
CI: add files for qubes-builder
krystian-hebel Oct 28, 2024
4e020c9
.github/workflows/build.yml: build QubesOS package
SergiiDmytruk Jul 29, 2023
be84409
x86/include/asm/intel_txt.h: constants and accessors for TXT register…
krystian-hebel Apr 17, 2023
a17a97f
include/xen/slr_table.h: Secure Launch Resource Table definitions
SergiiDmytruk Oct 28, 2023
c5a3ea0
x86/boot: add MLE header and new entry point
Stojak139808 Aug 31, 2022
c089806
x86/boot/txt_early: add early TXT tests and restore MBI pointer
krystian-hebel Apr 17, 2023
3bb7bdc
xen/arch/x86: reserve TXT memory
Stojak139808 Sep 2, 2022
71830e9
x86/intel_txt.c: restore boot MTRRs
krystian-hebel Oct 19, 2022
09760b4
lib/sha1.c: add file
krystian-hebel Oct 25, 2022
be1e37c
lib/sha256.c: add file
SergiiDmytruk Jun 25, 2023
b5ce0c0
x86/tpm.c: code for early hashing and extending PCRs (for TPM1.2)
krystian-hebel Oct 21, 2022
1a360da
x86/tpm.c: support extending PCRs of TPM2.0
SergiiDmytruk Jun 28, 2023
d43c355
x86/tpm.c: implement event log for TPM2.0
SergiiDmytruk Jun 30, 2023
f7d9b1f
x86/boot: choose AP stack based on APIC ID
krystian-hebel Nov 16, 2022
44ebc11
x86/smpboot.c: TXT AP bringup
krystian-hebel Nov 16, 2022
90abc7f
arch/x86: don't access x86_cpu_to_apicid[] directly, use cpu_physical…
krystian-hebel Jun 1, 2023
c06e340
arch/x86/smp: drop x86_cpu_to_apicid, use cpu_data[cpu].apicid instead
krystian-hebel Jun 1, 2023
666b9bb
x86/setup.c: make stack_start constant
krystian-hebel Nov 19, 2024
226a270
arch/x86/smp: call x2apic_ap_setup() earlier
krystian-hebel Jun 13, 2023
2bb4c2a
arch/x86/smp: drop booting_cpu variable
krystian-hebel Jun 13, 2023
ceefa86
arch/x86/smp: make cpu_state per-CPU
krystian-hebel Jun 16, 2023
b6159cc
arch/x86/smp: remove MONITOR/MWAIT loop for TXT AP bringup
krystian-hebel Jun 16, 2023
6adad1a
arch/x86/smp: don't send INIT-SIPI-SIPI if AP is already running
krystian-hebel Jun 16, 2023
96562e4
arch/x86/smp: start APs in parallel during boot
krystian-hebel Jun 16, 2023
7b7fcf9
arch/x86/shutdown: protect against recurrent machine_restart()
krystian-hebel Jun 13, 2023
acb6ceb
arch/x86: process DRTM policy
SergiiDmytruk Oct 28, 2023
6bacd45
x86/boot: introduce slaunch_slrt global variable
SergiiDmytruk Mar 21, 2024
19fa00a
x86/boot: find MBI and SLRT on AMD
SergiiDmytruk Mar 21, 2024
6657085
arch/x86: move generic memory mapping and protection to slaunch.c
SergiiDmytruk Mar 21, 2024
afd6b78
arch/x86: support slaunch with AMD SKINIT
SergiiDmytruk Mar 16, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
name: Test build and package QubesOS RPMs

on:
push:
branches:
- 'aem*'
tags:
- '*'

jobs:
qubes-dom0-package:
uses: TrenchBoot/.github/.github/workflows/qubes-dom0-packagev2.yml@master
with:
qubes-component: 'vmm-xen'
qubes-pkg-src-dir: '.'
55 changes: 0 additions & 55 deletions .github/workflows/coverity.yml

This file was deleted.

19 changes: 16 additions & 3 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
@@ -1,15 +1,28 @@
variables:
XEN_REGISTRY: registry.gitlab.com/xen-project/xen

workflow:
rules:
- if: $CI_COMMIT_BRANCH =~ /^(master|smoke|^coverity-tested\/.*|stable-.*)$/
when: never
- when: always

stages:
- containers
- analyze
- build
- test

include:
- 'automation/gitlab-ci/analyze.yaml'
- 'automation/gitlab-ci/build.yaml'
- 'automation/gitlab-ci/test.yaml'
- local: 'automation/gitlab-ci/containers.yaml'
rules:
- if: $XEN_CI_REBUILD_CONTAINERS
- local: 'automation/gitlab-ci/analyze.yaml'
rules:
- if: $XEN_CI_REBUILD_CONTAINERS == null
- local: 'automation/gitlab-ci/build.yaml'
rules:
- if: $XEN_CI_REBUILD_CONTAINERS == null
- local: 'automation/gitlab-ci/test.yaml'
rules:
- if: $XEN_CI_REBUILD_CONTAINERS == null
2 changes: 1 addition & 1 deletion automation/eclair_analysis/ECLAIR/tagging.ecl
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,7 @@ if(string_equal(target,"x86_64"),
)

if(string_equal(target,"arm64"),
service_selector({"additional_clean_guidelines","MC3R1.R2.1||MC3R1.R5.3||MC3.R11.2||MC3R1.R16.6||MC3R1.R20.7"})
service_selector({"additional_clean_guidelines","MC3R1.R2.1||MC3R1.R5.3||MC3R1.R8.4||MC3.R11.2||MC3R1.R16.6||MC3R1.R20.7"})
)

-reports+={clean:added,"service(clean_guidelines_common||additional_clean_guidelines)"}
Expand Down
4 changes: 2 additions & 2 deletions automation/gitlab-ci/build.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
.build-tmpl: &build
stage: build
image: registry.gitlab.com/xen-project/xen/${CONTAINER}
image: ${XEN_REGISTRY}/${CONTAINER}
script:
- ./automation/scripts/build 2>&1 | tee build.log
artifacts:
Expand Down Expand Up @@ -208,7 +208,7 @@

.yocto-test:
stage: build
image: registry.gitlab.com/xen-project/xen/${CONTAINER}
image: ${XEN_REGISTRY}/${CONTAINER}
script:
- ./automation/build/yocto/build-yocto.sh -v --log-dir=./logs --xen-dir=`pwd` ${YOCTO_BOARD} ${YOCTO_OUTPUT}
variables:
Expand Down
29 changes: 29 additions & 0 deletions automation/gitlab-ci/containers.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
.container-build-tmpl:
stage: containers
image: docker:stable
tags:
- container-builder
rules:
- if: $XEN_CI_REBUILD_CONTAINERS
services:
- docker:dind
before_script:
- apk add make
- docker info
- docker login -u $CI_DEPLOY_USER -p $CI_DEPLOY_PASSWORD $CI_REGISTRY
script:
- make -C automation/build PUSH=1 REGISTRY=${XEN_REGISTRY} ${CONTAINER/:/\/}
after_script:
- docker logout

container-archlinux-current:
extends:
- .container-build-tmpl
variables:
CONTAINER: "archlinux:current"

container-opensuse-tumbleweed-x86_64:
extends:
- .container-build-tmpl
variables:
CONTAINER: "opensuse:tumbleweed-x86_64"
17 changes: 7 additions & 10 deletions automation/gitlab-ci/test.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
.test-jobs-common:
stage: test
image: registry.gitlab.com/xen-project/xen/${CONTAINER}
image: ${XEN_REGISTRY}/${CONTAINER}

.arm64-test-needs: &arm64-test-needs
- alpine-3.18-arm64-rootfs-export
Expand Down Expand Up @@ -98,9 +98,8 @@
- '*.log'
- '*.dtb'
when: always
only:
variables:
- $XILINX_JOBS == "true" && $CI_COMMIT_REF_PROTECTED == "true"
rules:
- if: $XILINX_JOBS == "true" && $CI_COMMIT_REF_PROTECTED == "true"
tags:
- xilinx

Expand All @@ -117,9 +116,8 @@
- smoke.serial
- '*.log'
when: always
only:
variables:
- $XILINX_JOBS == "true" && $CI_COMMIT_REF_PROTECTED == "true"
rules:
- if: $XILINX_JOBS == "true" && $CI_COMMIT_REF_PROTECTED == "true"
tags:
- xilinx

Expand All @@ -137,9 +135,8 @@
- smoke.serial
- '*.log'
when: always
only:
variables:
- $QUBES_JOBS == "true" && $CI_COMMIT_REF_PROTECTED == "true"
rules:
- if: $QUBES_JOBS == "true" && $CI_COMMIT_REF_PROTECTED == "true"
tags:
- qubes-hw2

Expand Down
5 changes: 5 additions & 0 deletions docs/hypervisor-guide/x86/how-xen-boots.rst
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,11 @@ If ``CONFIG_PVH_GUEST`` was selected at build time, an Elf note is included
which indicates the ability to use the PVH boot protocol, and registers
``__pvh_start`` as the entrypoint, entered in 32bit mode.

MLE header is used with Intel TXT, together with MB2 headers. Entrypoint is
different, but it is used just to differentiate from other entries by moving
a magic number to EAX. Execution environment is similar to that of Multiboot 2
and code falls through to ``start``.


xen.gz
~~~~~~
Expand Down
6 changes: 3 additions & 3 deletions docs/misra/rules.rst
Original file line number Diff line number Diff line change
Expand Up @@ -154,15 +154,15 @@ maintainers if you want to suggest a change.
* - `Rule 5.1 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_05_01_2.c>`_
- Required
- External identifiers shall be distinct
- The Xen characters limit for identifiers is 40. Public headers
- The Xen characters limit for identifiers is 63. Public headers
(xen/include/public/) are allowed to retain longer identifiers
for backward compatibility.

* - `Rule 5.2 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_05_02.c>`_
- Required
- Identifiers declared in the same scope and name space shall be
distinct
- The Xen characters limit for identifiers is 40. Public headers
- The Xen characters limit for identifiers is 63. Public headers
(xen/include/public/) are allowed to retain longer identifiers
for backward compatibility.

Expand All @@ -177,7 +177,7 @@ maintainers if you want to suggest a change.
* - `Rule 5.4 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_05_04.c>`_
- Required
- Macro identifiers shall be distinct
- The Xen characters limit for macro identifiers is 40. Public
- The Xen characters limit for macro identifiers is 63. Public
headers (xen/include/public/) are allowed to retain longer
identifiers for backward compatibility.

Expand Down
9 changes: 9 additions & 0 deletions qubesos_xen.logrotate
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
/var/log/xen/xen-hotplug.log
/var/log/xen/domain-builder-ng.log
/var/log/xen/console/*.log{
notifempty
missingok
compress
copytruncate
su root qubes
}
9 changes: 9 additions & 0 deletions qubesos_xen.modules-load.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
xen-evtchn
xen-gntdev
xen-gntalloc
xen-blkback
xen-pciback
xen-privcmd
xen-acpi-processor
# Not used in Qubes dom0
#xen-netback
Loading