Skip to content

Commit 73ddc0d

Browse files
committed
qemu: Convert qemu-mac99 to use qemu_main()
1 parent 9b7e96d commit 73ddc0d

2 files changed

Lines changed: 13 additions & 41 deletions

File tree

lib/qemu.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,8 @@ def apply_defaults(self):
7171
self.cpuinfo = 'IBM pSeries \(emulated by qemu\)'
7272
elif self.machine_is('powernv'):
7373
self.cpuinfo = 'IBM PowerNV \(emulated by qemu\)'
74+
elif self.machine == 'mac99':
75+
self.cpuinfo = 'PowerMac3,1 MacRISC MacRISC2 Power Macintosh'
7476

7577
if self.qemu_path is None:
7678
if self.machine_is('pseries') or self.machine_is('powernv'):
@@ -87,7 +89,9 @@ def apply_defaults(self):
8789
self.mem = '1G'
8890

8991
if self.smp is None:
90-
if self.accel == 'tcg':
92+
if self.machine_is('mac99'): # Doesn't support SMP
93+
self.smp = 1
94+
elif self.accel == 'tcg':
9195
self.smp = 2
9296
else:
9397
self.smp = 8

scripts/boot/qemu-mac99

Lines changed: 8 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -25,52 +25,20 @@ import logging
2525
import os, sys
2626
sys.path.append(f'{os.path.dirname(sys.argv[0])}/../../lib')
2727

28-
from qemu import qemu_command, qemu_net_setup
29-
from pexpect_utils import *
30-
from utils import *
28+
from qemu import QemuConfig, qemu_main
29+
from utils import setup_logging
3130

3231

3332
def main():
3433
setup_logging()
35-
setup_timeout(60)
3634

37-
expected_release = get_expected_release()
38-
if expected_release is None:
39-
return False
35+
qconf = QemuConfig('mac99')
36+
qconf.configure_from_env()
37+
qconf.configure_from_args(sys.argv[1:])
38+
qconf.smp = 1
39+
qconf.apply_defaults()
4040

41-
vmlinux = get_vmlinux()
42-
if vmlinux is None:
43-
return False
44-
45-
p = PexpectHelper()
46-
cmd = qemu_command(qemu='qemu-system-ppc', machine='mac99', vmlinux=vmlinux, cmdline='noreboot')
47-
p.spawn(cmd, logfile=open('console.log', 'w'))
48-
49-
standard_boot(p)
50-
51-
p.send("echo -n 'booted-revision: '; uname -r")
52-
p.expect(f'booted-revision: {expected_release}')
53-
p.expect_prompt()
54-
55-
p.send('cat /proc/cpuinfo')
56-
p.expect('PowerMac3,1 MacRISC MacRISC2 Power Macintosh')
57-
p.expect_prompt()
58-
59-
if os.environ.get('QEMU_NET_TESTS', True) != '0':
60-
qemu_net_setup(p)
61-
ping_test(p)
62-
wget_test(p)
63-
64-
p.send('halt')
65-
p.wait_for_exit()
66-
67-
if filter_log_warnings(open('console.log'), open('warnings.txt', 'w')):
68-
logging.error('Errors/warnings seen in console.log')
69-
return False
70-
71-
logging.info('Test completed OK')
72-
73-
return True
41+
return qemu_main(qconf)
7442

7543

7644
sys.exit(0 if main() else 1)

0 commit comments

Comments
 (0)