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

File tree

7 files changed

+36
-10
lines changed

7 files changed

+36
-10
lines changed

README.md

+1
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
- `[email protected]`: Ubuntu 20.04, gcc 9.4.0, binutils 2.34
7070
- `[email protected]`: Ubuntu 18.04, gcc 7.5.0, binutils 2.30
7171
- `[email protected]`: 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

+2-2
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
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
2121
ALL_DISTROS := ${UBUNTU_DISTROS} ${KORG_DISTROS} ${FEDORA_DISTROS}
2222
DOCS_DISTRO := docs@${UBUNTU_LATEST}

build/scripts/image.sh

+5-3
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
+7
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

+3-3
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

+3-2
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

+15
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)