bud17-221: what's new in qemu

21
What's new in QEMU Alex Bennée Linaro Connect BUD17-221 1

Upload: linaro

Post on 12-Apr-2017

353 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: BUD17-221:  What's new in QEMU

What's new in QEMUAlex Bennée

Linaro Connect BUD17-221

1

Page 2: BUD17-221:  What's new in QEMU

Budapest 2017

AgendaQEMU releases & new featuresIoT/uController discussion

2 . 1

Page 3: BUD17-221:  What's new in QEMU

Budapest 2017

Since Last ConnectQEMU 2.8.0 (Dec 20th, 2016)QEMU 2.9.0 (April 4th, 2017)*Releases at 3-4 month cadenceNext release in August?

3 . 1

Page 4: BUD17-221:  What's new in QEMU

Budapest 2017

QEMU 2.8

See for full noteschangelog

4 . 1

Page 5: BUD17-221:  What's new in QEMU

Budapest 2017

ITS (Interrupt Translation Service)

MSI controllerVirtual MSIs with VMs with GICv3Required on GICv3 guests for

VHOSTDevice pass-through (SR-IOV)

4 . 2

Page 6: BUD17-221:  What's new in QEMU

Budapest 2017

TCG Updates

New TCGOps for:Atomic operationsBarriers/fences

4 . 3

Page 7: BUD17-221:  What's new in QEMU

Budapest 2017

New exclusive mechanism

Support oversized atomicsThread safe tb-�ush (�nally!)

4 . 4

Page 8: BUD17-221:  What's new in QEMU

Budapest 2017

What's new in QEMU 2.9

See for full noteschangelog

5 . 1

Page 9: BUD17-221:  What's new in QEMU

Budapest 2017

TCG EL2 Support

AArch64 onlyRequires GICv3

qemu-system-aarch64 ${QEMU_OPTS} \ -machine gic-version=3 \ -machine virtualization=true

5 . 2

Page 10: BUD17-221:  What's new in QEMU

Budapest 2017

MTTCG

Finally thread-per-vCPU for system emulation!Long term project involving many groupsLinaro has been leading the work for a year

5 . 3

Page 11: BUD17-221:  What's new in QEMU

Budapest 2017

MTTCG Supported Combinations

Default for ARMv7/AArch64 on x86_64Known to work for

x86-on-x86x86-on-AArch64 (slowly)

${QEMU} ${QEMU_OPTS} -accel tcg,thread=multi

5 . 4

Page 12: BUD17-221:  What's new in QEMU

Budapest 2017

Cortex M �xes

5 . 5

Page 13: BUD17-221:  What's new in QEMU

Budapest 2017

QEMU and IoT

6 . 1

Page 14: BUD17-221:  What's new in QEMU

Budapest 2017

M-pro�le cores are di�erent

M-pro�le means micro-controllersDi�erent memory model (MPU)Di�erent memory model (MPU)Di�erent exception model (NVIC)Often running an RTOS

7 . 1

Page 15: BUD17-221:  What's new in QEMU

Budapest 2017

Current M-pro�le models

TI Stellaris (Cortex M3)LM3S6965EVBLM3S811EVB

Netduino 2 (Cortex M3)

8 . 1

Page 16: BUD17-221:  What's new in QEMU

Budapest 2017

Current Issues

Very little attentionLinaro has been very focused on A-pro�leNo community maintenance and little bug�xing

Long standing un-�xed bugsMissing important featuresNo support for newer CPUs (FPU, v6M)

9 . 1

Page 17: BUD17-221:  What's new in QEMU

Budapest 2017

Modelling Hardware

Boring hardwaremostly just CPU, �ash and GPIOssome models may have a screen

Unconnected GPIO/PWM/ADC/DACs

10 . 1

Page 18: BUD17-221:  What's new in QEMU

Budapest 2017

Ongoing work

NVIC/Exception handling (�xed in 2.9)Bare metal

MPU (add missing emulation)FPU (enable existing instructions, new exceptionmodel)v6m (Cortex M0, M0+1, M1) and v8m

m-series tests

11 . 1

Page 19: BUD17-221:  What's new in QEMU

Budapest 2017

What do members want from QEMU IoT support

PrioritiesUse cases?Hardware?Other requirements?

12 . 1

Page 20: BUD17-221:  What's new in QEMU

Budapest 2017

Some options for new M-pro�le board?

Cortex-M0number of built-in peripheralswidespread real hardware

Cortex-M4built in Bluetoothsupports Zephyr

BBC microBit

96boards Carbon

13 . 1

Page 21: BUD17-221:  What's new in QEMU

Thank You#BUD17

For further information: www.linaro.org

BUD17 keynotes and videos on: connect.linaro.org

14 . 1