Skip to content

Commit 7dfc632

Browse files
committed
Merge branch 'master' into deploy
Conflicts: README.md build/Makefile external/bootlin-toolchains/Makefile external/qemu/Makefile
2 parents 5649333 + f4149a1 commit 7dfc632

7 files changed

Lines changed: 36 additions & 10 deletions

File tree

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@ There are images for various toolchains, they are encoded in the distro name/ver
6969
- `ubuntu@20.04`: Ubuntu 20.04, gcc 9.4.0, binutils 2.34
7070
- `ubuntu@18.04`: Ubuntu 18.04, gcc 7.5.0, binutils 2.30
7171
- `ubuntu@16.04`: Ubuntu 16.04, gcc 5.4.0, binutils 2.26.1
72+
- `fedora@40`: Fedora 40, gcc 14.0.1, binutils 2.41-34, clang 18.1.1
7273
- `fedora@39`: Fedora 39, gcc 13.2.1, binutils 2.40-14, clang 17.0.6
7374
- `fedora@38`: Fedora 38, gcc 12.2.1, binutils 2.39-3, clang 16.0.2
7475
- `fedora@37`: Fedora 37, gcc 12.2.1, binutils 2.38-5, clang 15.0.7

build/Makefile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
all: help
22

3-
export FEDORA_LATEST := 39
3+
export FEDORA_LATEST := 40
44

55
x86 = $(filter x86_64,$(shell uname -m))
66
isa_3 = $(filter arch_3_00,$(shell LD_SHOW_AUXV=1 /bin/true))
@@ -16,7 +16,7 @@ endif
1616

1717
UBUNTU_DISTROS += ubuntu@20.04 ubuntu@18.04 ubuntu@16.04 ubuntu
1818

19-
FEDORA_DISTROS := fedora@${FEDORA_LATEST} fedora@38 fedora@37 fedora@36 fedora@35 fedora@34 fedora@33 fedora@31 fedora
19+
FEDORA_DISTROS := fedora@${FEDORA_LATEST} fedora@39 fedora@38 fedora@37 fedora@36 fedora@35 fedora@34 fedora@33 fedora@31 fedora
2020
KORG_DISTROS := korg@13.1.0 korg@12.3.0 korg@12.2.0 korg@12.1.0 korg@11.3.0 korg@11.1.0 korg@10.3.0 korg@9.4.0 korg@9.3.0 korg@8.5.0 korg@8.1.0 korg@5.5.0
2121
ALL_DISTROS := ${UBUNTU_DISTROS} ${KORG_DISTROS} ${FEDORA_DISTROS}
2222
DOCS_DISTRO := docs@${UBUNTU_LATEST}

build/scripts/image.sh

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,9 @@ fi
1717

1818
image="linuxppc/build:$distro-$version"
1919

20-
from="docker.io/$distro:$version"
21-
22-
if [[ "$distro" == "docs" ]]; then
20+
if [[ "$distro" == "fedora" ]]; then
21+
from="registry.fedoraproject.org/$distro:$version"
22+
elif [[ "$distro" == "docs" ]]; then
2323
from="docker.io/ubuntu:$version"
2424
elif [[ "$distro" == "allcross" ]]; then
2525
from="docker.io/debian:$version"
@@ -32,6 +32,8 @@ elif [[ "$distro" == "korg" ]]; then
3232
else
3333
from="docker.io/ubuntu:20.04"
3434
fi
35+
else
36+
from="docker.io/$distro:$version"
3537
fi
3638

3739
if [[ "$task" == "image" ]]; then
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
powerpc-440fp--glibc--stable-2024.02-1
2+
powerpc-e300c3--glibc--stable-2024.02-1
3+
powerpc-e500mc--glibc--stable-2024.02-1
4+
powerpc64-e5500--glibc--stable-2024.02-1
5+
powerpc64-e6500--glibc--stable-2024.02-1
6+
powerpc64-power8--glibc--stable-2024.02-1
7+
powerpc64le-power8--glibc--stable-2024.02-1

external/bootlin-toolchains/Makefile

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ ARCHES := powerpc-440fp \
2121
powerpc64-e5500 \
2222
powerpc64-e6500 \
2323
powerpc64-power8 \
24-
powerpc64le-power8
24+
powerpc64le-power8
2525

2626
VERSIONS := glibc--stable-2024.02-1
2727

@@ -66,9 +66,9 @@ prepare: download
6666
build:
6767

6868
clean:
69-
@:
69+
rm -f *.tar.bz2
7070

7171
distclean: clean
72-
rm -rf $(CLEAN_DIRS) *.tar.xz
72+
rm -rf $(CLEAN_DIRS)
7373

7474
.PHONY: download prepare build clean distclean help

external/qemu/Makefile

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,10 @@ VERSIONS := 4.2.1 \
44
7.0.0 \
55
7.1.0 \
66
7.2.3 \
7-
8.2.1
7+
8.2.3 \
8+
9.0.0
89

9-
DEFAULT_VERSION = 7.2.3
10+
DEFAULT_VERSION = 8.2.3
1011

1112
help:
1213
@echo "qemu"

lib/qemu.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,8 @@ def apply_defaults(self):
8282
if self.machine_is('pseries'):
8383
if self.accel == 'tcg':
8484
self.machine_caps += ['cap-htm=off']
85+
else:
86+
self.__set_spectre_v2_caps()
8587

8688
if self.cpu and self.accel == 'kvm':
8789
if self.cpu != 'host':
@@ -243,6 +245,19 @@ def prepare_cloud_image(self):
243245
self.cmdline.insert(0, 'systemd.mask=hcn-init.service systemd.hostname=fedora')
244246
self.cmdline.insert(0, f'root=/dev/vd{cloud_drive}5 rootfstype=btrfs rootflags=subvol=root')
245247

248+
def __set_spectre_v2_caps(self):
249+
try:
250+
body = open('/sys/devices/system/cpu/vulnerabilities/spectre_v2', 'r').read()
251+
except (FileNotFoundError, PermissionError):
252+
# Should be readable, but continue anyway and cross fingers
253+
return
254+
255+
for s in ['Indirect branch cache disabled', 'Software count cache flush']:
256+
if s in body:
257+
return
258+
259+
self.machine_caps += ['cap-ccf-assist=off']
260+
246261
def cmd(self):
247262
logging.info('Using qemu version %s.%s "%s"' % get_qemu_version(self.qemu_path))
248263

0 commit comments

Comments
 (0)