QEMU

소프트웨어 스크린 샷:
QEMU
소프트웨어 정보:
버전: 2.12.0 업데이트
업로드 날짜: 22 Jun 18
개발자: Fabrice Bellard
라이센스: 무료
인기: 154

Rating: 5.0/5 (Total Votes: 1)

QEMU는 새로운 호스트 CPU (프로세서) 로의 포팅이 용이하면서 합리적인 성능을 얻기 위해 동적 변환에 초점을 맞춘 개방형 소스 및 매우 빠른 가상화 소프트웨어입니다.


강력한 머신 에뮬레이터 및 가상 화기

프로세서와 주변 장치를 포함한 전체 시스템을 에뮬레이트하도록 설계된 기계 에뮬레이터라고도합니다. 에뮬레이션 부분은 단일 하드웨어 플랫폼 용으로 작성되었지만 아키텍처가 다른 다른 컴퓨터 위에 실행되는 운영 체제 및 프로그램을 지원합니다.

반면에 응용 프로그램이 가상화 프로그램으로 사용될 때 호스트 프로세서에서 게스트 코드를 직접 실행하여 거의 기본 성능을 얻을 수 있습니다. Xen 하이퍼 바이저 및 KVM (커널 가상 시스템) 커널 모듈을 지원합니다.


다양한 하드웨어 플랫폼의 가상화 지원

KVM을 선호하는 경우 x86 (32 비트), s390, PowerPC, ARM, m68k, MIPS, CRIS, Microblaze, MIPSEL, or32 및 SPARC 시스템을 가상화 할 수 있습니다. Virtio, USB 루트 허브, 네트워킹, 입력, 비디오 및 저장 장치뿐만 아니라 Windows XP, FreeDOS 및 SunOS 시스템을 에뮬레이션 할 수 있습니다.

VirtualBox와 VMware를 거친 QEMU는 Linux 플랫폼 용으로는 세 번째로 큰 가상화 소프트웨어이지만 오픈 소스 생태계에서 가장 강력한 가상화 소프트웨어입니다. 주요 기능은 64 비트 또는 32 비트 아키텍처에서 또는 순수 에뮬레이터로 기본 가상 머신으로 실행할 수있는 기능입니다.


지원되는 운영 체제

이것은 명령 행 소프트웨어이며 Linux 기반 운영 체제는 물론 Microsoft Windows 및 다양한 UNIX 유 료에서도 실행됩니다. 소스 아카이브는 전용 다운로드 섹션에서 제공되므로 사용자는 OpenBSD, Solaris, AIX, MinGW 및 Cygwin 시스템뿐만 아니라 모든 Linux 배포에서 프로그램을 구성, 컴파일 및 설치할 수 있습니다.


결론

소프트웨어를 테스트하거나 다양한 운영 체제를 사용하거나 플랫폼에서 지원되지 않는 응용 프로그램을 실행하려는 경우 QEMU는 사용자에게 가장 빠른 가상화 및 에뮬레이터 시스템 중 하나를 제공합니다.

새로운 기능 이번 출시에서 :

시스템 에뮬레이션 :
호환되지 않는 변경 사항 :
pSeries 시스템에 허용되는 PCI 호스트 브릿지 수는 256에서 31로 줄었습니다 (수동으로 MMIO 창을 설정하여 더 많은 수를 구성 할 수 있음).
블록 계층에서 tftp : //에 대한 지원이 제거되었습니다. 이는 256KB를 초과하는 파일의 경우 영구히 중단 되었기 때문입니다.
향후 호환되지 않는 변경 사항 :
세 가지 옵션은 명령 줄과 구성 파일에서 서로 다른 이름을 사용합니다. 특히:
"acpi" 구성 파일 섹션은 명령 행 옵션 "acpitable"과 일치합니다.
"부트 - 옵트 (boot-opts) 구성 파일 섹션은 명령 행 옵션 "boot"와 일치합니다.
"smp-opts" 구성 파일 섹션은 명령 행 옵션 "smp"와 일치합니다.
-readconfig는 명령 행 옵션의 이름을 표준화합니다.
-smp에 ​​대한 일부 SMP 토폴로지 옵션 (소켓, 코어, 스레드)이 생략 될 경우 SMP 토폴로지의 자동 계산 동작이 앞으로 변경됩니다. SMP 토폴로지 옵션을 사용하는 동안 게스트 ABI를 업그레이드 할 때 보존해야하는 경우 사용자는 명시 적으로 모든 옵션 (소켓, 코어, 스레드)을 설정하거나 모두 생략해야합니다.

디바이스 "allwinner-a10", "pc87312", "ssi-sd" 암시 적으로가 아니라 명시 적 속성으로 구성됩니다. 이것은 사용자에게 영향을 미치지 않습니다.
QMP 명령 인 blockdev-add는 여전히 진행중인 작업입니다. 모든 블록 드라이버를 지원하지는 않습니다. 일치하는 blockdev-del 등이 없습니다. 호환되지 않을 수 있습니다.
x86의 경우, "+ feature / -feature"및 "+ feature / -feature" 및 "feature = on / off" 경고가 발생할 것입니다. 이 조합 ( "+ feature / -feature"가 "feature = on / off"에서 승리 함)에 대한 현재의 동작은 변경되어 "+ feature" 및 "특징" & quot; feature = on & quot;의 동의어가됩니다. 및 "feature = off" 각기).
팔:
Aspeed 보드의 개선.
AArch32 모드 (ARM 및 Thumb 모두)에서 HLT 세미 호스팅 트랩 지원.
"virt"필드에 대한 ACPI 테이블은 " 기계 유형 ITS를 지원합니다.
Cadence GEM 장치는 이제 num-priority-queues 속성을 통해 여러 우선 순위 대기열을 지원합니다.
STM32F2xx 보드 (Netduino 2)에는 현재 ADC 및 SPI 디바이스가 포함되어있다.
MIPS :
24KEc CPU 지원.
PowerPC :
POWER9 CPU 지원.새로운 "powernv" 플랫폼.
pSeries :
PCI 호스트 브릿지는 NUMA 노드와 연결될 수 있습니다.
게스트 메모리가 1 개 이상의 TiB를 지원합니다.
PCI 호스트 브리지에서 64 GiB 이상의 MMIO 윈도우를 지원합니다.
"-prom-env"에 대한 지원 매개 변수
s390 :
CPU 모델 지원.
virtio-ccw revision 2 지원.
x86 :
AVX-512 명령 세트 확장과 관련된 몇 가지 새로운 CPUID 기능 지원.
에뮬레이트 된 IOAPIC ( "-machine kernel_irqchip"옵션이 "off"또는 "split"값을 갖는 경우에 TCG 및 KVM에 의해 사용됨)은 지시 된 단절 종료 메시지를 지원하는 버전 0x20으로 디폴트 설정된다.
intel_iommu 장치에서 확장 인터럽트 모드 (EIM) 지원. EIM을 사용하려면 KVM (Linux v4.7 이상, x2APIC 지원) 및 "-machine kernel-irqchip = split"; 인터럽트 재 매핑이 가능하면 ( "-machine kernel-irqchip = split -device intel_iommu, intremap = on") 자동으로 활성화됩니다.
Q35 시스템 유형으로 최대 288 개의 CPU를 지원합니다. 256 개 이상의 CPU는 IOMMU 및 EIM이 활성화 된 경우에만 지원됩니다.
젠 :
SCSI 디스크 연결 해제 지원.SUSE xenlinux 호환 장치의 플러그를 뽑을 수 있도록 지원합니다.
장치 에뮬레이션 및 할당 :
QEMU에는 이제 시작할 때 여러 이미지 나 값을 메모리에로드 할 수있는 일반 로더 가상 장치가 포함되어 있습니다. 이 장치는 docs / generic-loader.txt에 설명되어 있습니다.
ACPI :
NVDIMM 장치의 핫 플러그 ​​지원 (_FIT)
네트워크 장치 :
Coarse-Grained Lock Stepping (COLO)에 기반한 내결함성 지원.
PCI / PCIe :
샘플 EDU 장치는 이제 MSI를 지원합니다.
토폴로지 및 PCI와 PCIe에 대한 조언을 얻기 위해 PCI Express 가이드 라인 문서가 추가되었습니다.
virtio :
새로운 장치 vhost-vsock.
게스트 오류를 ​​정상적으로 처리하기위한 초기 지원 (예 : QEMU가 게스트 오류에서 종료되지 않아야 함)
새로운 virtio-crypto 장치 지원.
젠 :
보조금 사본 지원.
암호화 서브 시스템 :
PBKDF에 대한 더 많은 해시 알고리즘 지원.
CTR 모드 지원.
GUI :
& quot; gl = on & quot; 인 경우 SPICE는 순수한 OpenGL 렌더링을 사용할 수 있습니다. 이 지정됩니다.
감시 장치:
이주:
Coarse-Grained Lock Stepping (COLO)에 기반한 내결함성 지원.
회로망:
장치 및 도구 차단 :QMP 명령은 노드 이름 (블록 스트림, 블록 커밋, blockdev 백업, blockdev 미러, blockdev-snapshot-delete-internal-sync, blockdev-snapshot-internal-sync, 변경 백업 파일, 백업, 드라이브 미러, nbd-server-add).
BLOCK_IO_ERROR 이벤트에 이제 노드 이름이 포함됩니다.
추가 QMP 명령은 장치 모델 이름 (block_set_io_throttle, blockdev-change-medium, eject, x-blockdev-remove-medium, x-blockdev-insert-medium, blockdev-open-tray, blockdev-close-tray)을 허용합니다.
이제 DEVICE_TRAY_MOVED 이벤트에 장치 ID가 포함됩니다.
스로틀은 게스트 장치에만 적용되고 작업이나 NBD 서버는 차단되지 않습니다.
drive-backup 및 blockdev-backup은 압축 된 형식으로 백업을 작성하는 것을 지원합니다.
LUKS 형식은 이제 PBKDF 반복 횟수를 구성 할 수 있습니다.
블록 스트림은 백업 파일에서 다른 백업 파일로의 스트리밍을 지원합니다.
Coal-Grained Lock Stepping (COLO) 내결함성을위한 복제 지원.
새 "dd" qemu-img의 서브 컴 파트먼트.
DMG 드라이버는 libbz2에 대한 QEMU 의존성을 선택적으로 만들 수 있도록 별도의 드라이버로 컴파일 될 수 있습니다.
iser : // URI를 통해 QEMU의 iSCSI 초기 자의 iSER를 지원합니다.NBD 클라이언트와 서버는 NBD_CMD_WRITE_ZEROES 확장을 지원합니다.
원시 이미지는 "오프셋"을 지원한다. 및 "크기" 파일 또는 장치의 일부만 액세스하는 옵션
트레이싱:
새로운 추적 백엔드 "syslog".
여러 개의 "-d trace : PATTERN"에 대한 지원 명령 줄 인수
CLI 옵션 :
사용자 모드 에뮬레이션
타겟 지원 제거
unicore32-linux-user target은이 아키텍처에서 mainline Linux와는 다른 시스템 콜 ABI를 구현했습니다. 지원이 중단되었습니다.
새로운 기능 :
preadv, pwritev, syslog를 포함한 더 많은 syscalls 지원이 추가되었습니다.
멀티 스레드 프로그램 (ARM, SPARC, x86)의 주요 확장 성 향상.
QEMU는 펜스 및 cmpxchg 작업을 이해하고 생성 할 수 있습니다.
TCG :
아키텍처 동기화 지침 (예 : 원자, LL / SC, LOCK 접두어)을 안전하게 모델링하기위한 새로운 TCG 프리미티브가 추가되었습니다. arm, aarch64, alpha 및 x86 타겟은 이제 멀티 스레드 리눅스 사용자 프로그램을 위해 이러한 프리미티브를 사용합니다. TCG 목표 관리자는 새로운 시설을 사용하기 위해 프런트 엔드를 이식해야합니다.

TCG 백엔드는 이제 다중 스레드 프로그램을 실행할 때 프런트 엔드 장벽에 적절한 장벽 지침을 내 보냅니다. 그러나 약하게 오더링 된 아키텍처 (예 : ARM 또는 POWER)에서 강하게 오더링 된 아키텍처 (예 : x86)를 에뮬레이트하는 것은 아직 작동하지 않습니다.
tb_flush ()는 마침내 스레드 안전성을 의미합니다. 다중 스레드 프로그램은 변환 버퍼가 재설정 될 때 크래시가 적습니다.
주요 CPU 실행 루프의 잠금 경합이 감소하여 멀티 스레드 코드의 성능이 향상되었습니다.
다수의 종족이 확인되고 고쳐졌다.
이주기에서 많은 TCG 작업이 병합되었지만 멀티 스레드 시스템 에뮬레이션 (MTTCG)을 지원하기위한 선행 조건이 있습니다. 전체 MTTCG 지원이 다음 개발주기에 병합 될 것으로 예상되지만 멀티 스레드 리눅스 사용자 프로그램은 이미이 작업의 혜택을 볼 것입니다.

버전의 새로운 기능 :

시스템 에뮬레이션 :
호환되지 않는 변경 사항 :
pSeries 시스템에 허용되는 PCI 호스트 브릿지 수는 256에서 31로 줄었습니다 (수동으로 MMIO 창을 설정하여 더 많은 수를 구성 할 수 있음).
블록 계층에서 tftp : //에 대한 지원이 제거되었습니다. 이는 256KB를 초과하는 파일의 경우 영구히 중단 되었기 때문입니다.
향후 호환되지 않는 변경 사항 :
세 가지 옵션은 명령 줄과 구성 파일에서 서로 다른 이름을 사용합니다. 특히:
"acpi"구성 파일 섹션은 "acpitable"명령 줄 옵션과 일치합니다.
"boot-opts"구성 파일 섹션은 "boot"명령 줄 옵션과 일치합니다.
"smp-opts"구성 파일 섹션은 명령 행 옵션 "smp"와 일치합니다.
-readconfig는 명령 행 옵션의 이름을 표준화합니다.
-smp에 ​​대한 일부 SMP 토폴로지 옵션 (소켓, 코어, 스레드)이 생략 될 경우 SMP 토폴로지의 자동 계산 동작이 앞으로 변경됩니다. SMP 토폴로지 옵션을 사용하는 동안 게스트 ABI를 업그레이드 할 때 보존해야하는 경우 사용자는 모든 옵션을 명시 적으로 설정 (소켓, 코어, 스레드)하거나 모두 생략해야합니다.장치 "allwinner-a10", "pc87312", "ssi-sd"는 암시 적으로가 아니라 명시 적 속성으로 구성됩니다. 이것은 사용자에게 영향을 미치지 않습니다.
QMP 명령 인 blockdev-add는 여전히 진행중인 작업입니다. 모든 블록 드라이버를 지원하지는 않습니다. 일치하는 blockdev-del 등이 없습니다. 호환되지 않을 수 있습니다.
x86의 경우 "+ feature / -feature"및 "feature = on / off"와 함께 CPUID 기능을 지정하면 경고가 표시됩니다. "+ feature"와 "-feature"가 "feature = on"및 "feature"와 동의어가되도록이 조합에 대한 현재 동작 ( "+ feature / -feature"가 "feature = on / off" = 꺼짐 ").
팔:
Aspeed 보드의 개선.
AArch32 모드 (ARM 및 Thumb 모두)에서 HLT 세미 호스팅 트랩 지원.
"virt"머신 유형의 ACPI 테이블은 ITS를 지원합니다.
Cadence GEM 장치는 이제 num-priority-queues 속성을 통해 여러 우선 순위 대기열을 지원합니다.
STM32F2xx 보드 (Netduino 2)에는 현재 ADC 및 SPI 디바이스가 포함되어있다.
MIPS :
24KEc CPU 지원.
PowerPC :
POWER9 CPU 지원.
새로운 "powernv"플랫폼의 개선.
pSeries :PCI 호스트 브릿지는 NUMA 노드와 연결될 수 있습니다.
게스트 메모리가 1 개 이상의 TiB를 지원합니다.
PCI 호스트 브리지에서 64 GiB 이상의 MMIO 윈도우를 지원합니다.
"-prom-env"매개 변수 지원
s390 :
CPU 모델 지원.
virtio-ccw revision 2 지원.
x86 :
AVX-512 명령 세트 확장과 관련된 몇 가지 새로운 CPUID 기능 지원.
"-machine kernel_irqchip"옵션의 값이 "off"또는 "split"인 경우 에뮬레이트 된 IOAPIC (TCG 및 KVM에서 사용됨)은 기본적으로 지정 중단 종료 메시지를 지원하는 버전 0x20으로 기본 설정됩니다.
intel_iommu 장치에서 확장 인터럽트 모드 (EIM) 지원. EIM을 사용하려면 KVM (Linux v4.7 이상, x2APIC 지원) 및 "-machine kernel-irqchip = split"이 필요합니다. 인터럽트 재 매핑이 활성화되면 자동으로 활성화됩니다 ( "-machine kernel-irqchip = split -device intel_iommu, intremap = on").
Q35 시스템 유형으로 최대 288 개의 CPU를 지원합니다. 256 개 이상의 CPU는 IOMMU 및 EIM이 활성화 된 경우에만 지원됩니다.
젠 :
SCSI 디스크 연결 해제 지원.
SUSE xenlinux 호환 장치의 플러그를 뽑을 수 있도록 지원합니다.
장치 에뮬레이션 및 할당 :QEMU에는 이제 시작할 때 여러 이미지 나 값을 메모리에로드 할 수있는 일반 로더 가상 장치가 포함되어 있습니다. 이 장치는 docs / generic-loader.txt에 설명되어 있습니다.
ACPI :
NVDIMM 장치의 핫 플러그 ​​지원 (_FIT)
네트워크 장치 :
Coarse-Grained Lock Stepping (COLO)에 기반한 내결함성 지원.
PCI / PCIe :
샘플 EDU 장치는 이제 MSI를 지원합니다.
토폴로지 및 PCI와 PCIe에 대한 조언을 얻기 위해 PCI Express 가이드 라인 문서가 추가되었습니다.
virtio :
새로운 장치 vhost-vsock.
게스트 오류를 ​​정상적으로 처리하기위한 초기 지원 (예 : QEMU가 게스트 오류에서 종료되지 않아야 함)
새로운 virtio-crypto 장치 지원.
젠 :
보조금 사본 지원.
암호화 서브 시스템 :
PBKDF에 대한 더 많은 해시 알고리즘 지원.
CTR 모드 지원.
GUI :
SPICE는 "gl = on"이 지정되면 순수 OpenGL 렌더링을 사용할 수 있습니다.
감시 장치:
이주:
Coarse-Grained Lock Stepping (COLO)에 기반한 내결함성 지원.
회로망:
장치 및 도구 차단 :QMP 명령은 노드 이름 (블록 스트림, 블록 커밋, blockdev 백업, blockdev 미러, blockdev-snapshot-delete-internal-sync, blockdev-snapshot-internal-sync, 변경 백업 파일, 백업, 드라이브 미러, nbd-server-add).
BLOCK_IO_ERROR 이벤트에 이제 노드 이름이 포함됩니다.
추가 QMP 명령은 장치 모델 이름 (block_set_io_throttle, blockdev-change-medium, eject, x-blockdev-remove-medium, x-blockdev-insert-medium, blockdev-open-tray, blockdev-close-tray)을 허용합니다.
이제 DEVICE_TRAY_MOVED 이벤트에 장치 ID가 포함됩니다.
스로틀은 게스트 장치에만 적용되고 작업이나 NBD 서버는 차단되지 않습니다.
drive-backup 및 blockdev-backup은 압축 된 형식으로 백업을 작성하는 것을 지원합니다.
LUKS 형식은 이제 PBKDF 반복 횟수를 구성 할 수 있습니다.
블록 스트림은 백업 파일에서 다른 백업 파일로의 스트리밍을 지원합니다.
Coal-Grained Lock Stepping (COLO) 내결함성을위한 복제 지원.
qemu-img의 새로운 "dd"하위 구성 요소.
DMG 드라이버는 libbz2에 대한 QEMU 의존성을 선택적으로 만들 수 있도록 별도의 드라이버로 컴파일 될 수 있습니다.
iser : // URI를 통해 QEMU의 iSCSI 초기 자의 iSER를 지원합니다.NBD 클라이언트와 서버는 NBD_CMD_WRITE_ZEROES 확장을 지원합니다.
원시 이미지는 "오프셋"및 "크기"옵션을 지원하여 파일 또는 장치의 일부만 액세스합니다.
트레이싱:
새로운 추적 백엔드 "syslog".
여러 "-d trace : PATTERN"명령 줄 인수를 지원합니다.
CLI 옵션 :
사용자 모드 에뮬레이션
타겟 지원 제거
unicore32-linux-user target은이 아키텍처에서 mainline Linux와는 다른 시스템 콜 ABI를 구현했습니다. 지원이 중단되었습니다.
새로운 기능 :
preadv, pwritev, syslog를 포함한 더 많은 syscalls 지원이 추가되었습니다.
멀티 스레드 프로그램 (ARM, SPARC, x86)의 주요 확장 성 향상.
QEMU는 펜스 및 cmpxchg 작업을 이해하고 생성 할 수 있습니다.
TCG :
아키텍처 동기화 지침 (예 : 원자, LL / SC, LOCK 접두어)을 안전하게 모델링하기위한 새로운 TCG 프리미티브가 추가되었습니다. arm, aarch64, alpha 및 x86 타겟은 이제 멀티 스레드 리눅스 사용자 프로그램을 위해 이러한 프리미티브를 사용합니다. TCG 목표 관리자는 새로운 시설을 사용하기 위해 프런트 엔드를 이식해야합니다.

TCG 백엔드는 이제 다중 스레드 프로그램을 실행할 때 프런트 엔드 장벽에 적절한 장벽 지침을 내 보냅니다. 그러나 약하게 오더링 된 아키텍처 (예 : ARM 또는 POWER)에서 강하게 오더링 된 아키텍처 (예 : x86)를 에뮬레이트하는 것은 아직 작동하지 않습니다.
tb_flush ()는 마침내 스레드 안전성을 의미합니다. 다중 스레드 프로그램은 변환 버퍼가 재설정 될 때 크래시가 적습니다.
주요 CPU 실행 루프의 잠금 경합이 감소하여 멀티 스레드 코드의 성능이 향상되었습니다.
다수의 종족이 확인되고 고쳐졌다.
이주기에서 많은 TCG 작업이 병합되었지만 멀티 스레드 시스템 에뮬레이션 (MTTCG)을 지원하기위한 선행 조건이 있습니다. 전체 MTTCG 지원이 다음 개발주기에 병합 될 것으로 예상되지만 멀티 스레드 리눅스 사용자 프로그램은 이미이 작업의 혜택을 볼 것입니다.

버전 2.9.0의 새로운 기능 :

시스템 에뮬레이션 :
호환되지 않는 변경 사항 :
pSeries 시스템에 허용되는 PCI 호스트 브릿지 수는 256에서 31로 줄었습니다 (수동으로 MMIO 창을 설정하여 더 많은 수를 구성 할 수 있음).
블록 계층에서 tftp : //에 대한 지원이 제거되었습니다. 이는 256KB를 초과하는 파일의 경우 영구히 중단 되었기 때문입니다.
향후 호환되지 않는 변경 사항 :
세 가지 옵션은 명령 줄과 구성 파일에서 서로 다른 이름을 사용합니다. 특히:
"acpi"구성 파일 섹션은 "acpitable"명령 줄 옵션과 일치합니다.
"boot-opts"구성 파일 섹션은 "boot"명령 줄 옵션과 일치합니다.
"smp-opts"구성 파일 섹션은 명령 행 옵션 "smp"와 일치합니다.
-readconfig는 명령 행 옵션의 이름을 표준화합니다.
-smp에 ​​대한 일부 SMP 토폴로지 옵션 (소켓, 코어, 스레드)이 생략 될 경우 SMP 토폴로지의 자동 계산 동작이 앞으로 변경됩니다. SMP 토폴로지 옵션을 사용하는 동안 게스트 ABI를 업그레이드 할 때 보존해야하는 경우 사용자는 모든 옵션을 명시 적으로 설정 (소켓, 코어, 스레드)하거나 모두 생략해야합니다.장치 "allwinner-a10", "pc87312", "ssi-sd"는 암시 적으로가 아니라 명시 적 속성으로 구성됩니다. 이것은 사용자에게 영향을 미치지 않습니다.
QMP 명령 인 blockdev-add는 여전히 진행중인 작업입니다. 모든 블록 드라이버를 지원하지는 않습니다. 일치하는 blockdev-del 등이 없습니다. 호환되지 않을 수 있습니다.
x86의 경우 "+ feature / -feature"및 "feature = on / off"와 함께 CPUID 기능을 지정하면 경고가 표시됩니다. "+ feature"와 "-feature"가 "feature = on"및 "feature"와 동의어가되도록이 조합에 대한 현재 동작 ( "+ feature / -feature"가 "feature = on / off" = 꺼짐 ").
팔:
Aspeed 보드의 개선.
AArch32 모드 (ARM 및 Thumb 모두)에서 HLT 세미 호스팅 트랩 지원.
"virt"머신 유형의 ACPI 테이블은 ITS를 지원합니다.
Cadence GEM 장치는 이제 num-priority-queues 속성을 통해 여러 우선 순위 대기열을 지원합니다.
STM32F2xx 보드 (Netduino 2)에는 현재 ADC 및 SPI 디바이스가 포함되어있다.
MIPS :
24KEc CPU 지원.
PowerPC :
POWER9 CPU 지원.
새로운 "powernv"플랫폼의 개선.
pSeries :PCI 호스트 브릿지는 NUMA 노드와 연결될 수 있습니다.
게스트 메모리가 1 개 이상의 TiB를 지원합니다.
PCI 호스트 브리지에서 64 GiB 이상의 MMIO 윈도우를 지원합니다.
"-prom-env"매개 변수 지원
s390 :
CPU 모델 지원.
virtio-ccw revision 2 지원.
x86 :
AVX-512 명령 세트 확장과 관련된 몇 가지 새로운 CPUID 기능 지원.
"-machine kernel_irqchip"옵션의 값이 "off"또는 "split"인 경우 에뮬레이트 된 IOAPIC (TCG 및 KVM에서 사용됨)은 기본적으로 지정 중단 종료 메시지를 지원하는 버전 0x20으로 기본 설정됩니다.
intel_iommu 장치에서 확장 인터럽트 모드 (EIM) 지원. EIM을 사용하려면 KVM (Linux v4.7 이상, x2APIC 지원) 및 "-machine kernel-irqchip = split"이 필요합니다. 인터럽트 재 매핑이 활성화되면 자동으로 활성화됩니다 ( "-machine kernel-irqchip = split -device intel_iommu, intremap = on").
Q35 시스템 유형으로 최대 288 개의 CPU를 지원합니다. 256 개 이상의 CPU는 IOMMU 및 EIM이 활성화 된 경우에만 지원됩니다.
젠 :
SCSI 디스크 연결 해제 지원.
SUSE xenlinux 호환 장치의 플러그를 뽑을 수 있도록 지원합니다.
장치 에뮬레이션 및 할당 :QEMU에는 이제 시작할 때 여러 이미지 나 값을 메모리에로드 할 수있는 일반 로더 가상 장치가 포함되어 있습니다. 이 장치는 docs / generic-loader.txt에 설명되어 있습니다.
ACPI :
NVDIMM 장치의 핫 플러그 ​​지원 (_FIT)
네트워크 장치 :
Coarse-Grained Lock Stepping (COLO)에 기반한 내결함성 지원.
PCI / PCIe :
샘플 EDU 장치는 이제 MSI를 지원합니다.
토폴로지 및 PCI와 PCIe에 대한 조언을 얻기 위해 PCI Express 가이드 라인 문서가 추가되었습니다.
virtio :
새로운 장치 vhost-vsock.
게스트 오류를 ​​정상적으로 처리하기위한 초기 지원 (예 : QEMU가 게스트 오류에서 종료되지 않아야 함)
새로운 virtio-crypto 장치 지원.
젠 :
보조금 사본 지원.
암호화 서브 시스템 :
PBKDF에 대한 더 많은 해시 알고리즘 지원.
CTR 모드 지원.
GUI :
SPICE는 "gl = on"이 지정되면 순수 OpenGL 렌더링을 사용할 수 있습니다.
감시 장치:
이주:
Coarse-Grained Lock Stepping (COLO)에 기반한 내결함성 지원.
회로망:
장치 및 도구 차단 :QMP 명령은 노드 이름 (블록 스트림, 블록 커밋, blockdev 백업, blockdev 미러, blockdev-snapshot-delete-internal-sync, blockdev-snapshot-internal-sync, 변경 백업 파일, 백업, 드라이브 미러, nbd-server-add).
BLOCK_IO_ERROR 이벤트에 이제 노드 이름이 포함됩니다.
추가 QMP 명령은 장치 모델 이름 (block_set_io_throttle, blockdev-change-medium, eject, x-blockdev-remove-medium, x-blockdev-insert-medium, blockdev-open-tray, blockdev-close-tray)을 허용합니다.
이제 DEVICE_TRAY_MOVED 이벤트에 장치 ID가 포함됩니다.
스로틀은 게스트 장치에만 적용되고 작업이나 NBD 서버는 차단되지 않습니다.
drive-backup 및 blockdev-backup은 압축 된 형식으로 백업을 작성하는 것을 지원합니다.
LUKS 형식은 이제 PBKDF 반복 횟수를 구성 할 수 있습니다.
블록 스트림은 백업 파일에서 다른 백업 파일로의 스트리밍을 지원합니다.
Coal-Grained Lock Stepping (COLO) 내결함성을위한 복제 지원.
qemu-img의 새로운 "dd"하위 구성 요소.
DMG 드라이버는 libbz2에 대한 QEMU 의존성을 선택적으로 만들 수 있도록 별도의 드라이버로 컴파일 될 수 있습니다.
iser : // URI를 통해 QEMU의 iSCSI 초기 자의 iSER를 지원합니다.NBD 클라이언트와 서버는 NBD_CMD_WRITE_ZEROES 확장을 지원합니다.
원시 이미지는 "오프셋"및 "크기"옵션을 지원하여 파일 또는 장치의 일부만 액세스합니다.
트레이싱:
새로운 추적 백엔드 "syslog".
여러 "-d trace : PATTERN"명령 줄 인수를 지원합니다.
CLI 옵션 :
사용자 모드 에뮬레이션
타겟 지원 제거
unicore32-linux-user target은이 아키텍처에서 mainline Linux와는 다른 시스템 콜 ABI를 구현했습니다. 지원이 중단되었습니다.
새로운 기능 :
preadv, pwritev, syslog를 포함한 더 많은 syscalls 지원이 추가되었습니다.
멀티 스레드 프로그램 (ARM, SPARC, x86)의 주요 확장 성 향상.
QEMU는 펜스 및 cmpxchg 작업을 이해하고 생성 할 수 있습니다.
TCG :
아키텍처 동기화 지침 (예 : 원자, LL / SC, LOCK 접두어)을 안전하게 모델링하기위한 새로운 TCG 프리미티브가 추가되었습니다. arm, aarch64, alpha 및 x86 타겟은 이제 멀티 스레드 리눅스 사용자 프로그램을 위해 이러한 프리미티브를 사용합니다. TCG 목표 관리자는 새로운 시설을 사용하기 위해 프런트 엔드를 이식해야합니다.TCG 백엔드는 이제 멀티 스레드 프로그램을 실행할 때 프론트 엔드 장벽에 적절한 장벽 지침을 내 보냅니다. 그러나 약하게 오더링 된 아키텍처 (예 : ARM 또는 POWER)에서 강하게 오더링 된 아키텍처 (예 : x86)를 에뮬레이트하는 것은 아직 작동하지 않습니다.
tb_flush ()는 마침내 스레드 안전성을 의미합니다. 다중 스레드 프로그램은 변환 버퍼가 재설정 될 때 크래시가 적습니다.
주요 CPU 실행 루프의 잠금 경합이 감소하여 멀티 스레드 코드의 성능이 향상되었습니다.
다수의 종족이 확인되고 고쳐졌다.
이주기에서 많은 TCG 작업이 병합되었지만 멀티 스레드 시스템 에뮬레이션 (MTTCG)을 지원하기위한 선행 조건이 있습니다. 전체 MTTCG 지원이 다음 개발주기에 병합 될 것으로 예상되지만 멀티 스레드 리눅스 사용자 프로그램은 이미이 작업의 혜택을 볼 것입니다.

개발자의 기타 소프트웨어 Fabrice Bellard

코멘트 QEMU

댓글을 찾을 수 없습니다
코멘트를 추가
이미지를 켜십시오!