QEMU
QEMU원저작자 | 파브리스 벨라드 |
---|---|
개발자 | QEMU 팀: 피터 메이델 등 |
안정된 릴리스 | |
저장소 | |
기입처 | C |
운영 체제 | Linux, Microsoft Windows, macOS 및 기타 UNIX 플랫폼 |
유형 | 하이퍼바이저, 에뮬레이터 |
면허증. | GPL-2.0 전용[3] |
웹 사이트 | www |
QEMU는 자유 오픈소스 에뮬레이터입니다.동적 바이너리 변환을 통해 머신의 프로세서를 에뮬레이트하고 머신의 다양한 하드웨어 및 디바이스 모델을 제공하여 머신이 다양한 게스트 운영 체제를 실행할 수 있도록 합니다.KVM(커널 기반 가상 머신)과 상호 운용하여 가상 머신을 네이티브에 가까운 속도로 실행할 수 있습니다.QEMU는 사용자 레벨의 프로세스에 대해서도 에뮬레이션을 실행할 수 있기 때문에 어떤 아키텍처에서 컴파일된 애플리케이션을 [4]다른 아키텍처에서 실행할 수 있습니다.
라이선스
QEMU는 Fabrice Bellard에 의해 작성되었으며 주로 GNU General Public License(GPL)에 따라 라이센스가 부여된 자유 소프트웨어입니다.다양한 부품이 BSD 라이선스, GNU Lesser General Public License(LGPL) 또는 기타 GPL [5]호환 라이선스로 출시됩니다.
동작 모드
QEMU에는 여러 동작 [6]모드가 있습니다.
- 사용자 모드 에뮬레이션
- 이 모드에서 QEMU는 다른 명령어세트로 컴파일된 단일 Linux 또는 Darwin/macOS 프로그램을 실행합니다.시스템 콜은 endianness 및 32/64비트 미스매치에 대해 처리됩니다.고속 교차 컴파일 및 교차 디버깅은 사용자 모드 에뮬레이션의 주요 타깃입니다.
- 시스템 에뮬레이션
- 이 모드에서는 QEMU가 주변기기를 포함한 컴퓨터 시스템 전체를 에뮬레이트합니다.단일 시스템에서 여러 가상 시스템의 가상 호스팅을 제공하는 데 사용할 수 있습니다.QEMU는 Linux, Solaris, Microsoft Windows, DOS 및 [7]BSD를 포함한 많은 게스트 운영 체제를 부팅할 수 있습니다.QEMU는 x86, MIPS, 32비트 ARMv7, ARMv8, PowerPC, SPARC, ETRAX CRIS 및 MicroBlaze 등의 여러 명령 세트를 에뮬레이트할 수 있습니다.
- KVM 호스팅
- 이 QEMU에서는 KVM 이미지의 셋업과 이행에 대해 설명합니다.하드웨어 에뮬레이션에는 아직 관여하고 있지만 게스트 실행은 QEMU의 요구에 따라 KVM에 의해 이루어집니다.
- Xen 호스팅
- QEMU는 하드웨어 에뮬레이션에만 관여합니다.게스트의 실행은 Xen 내에서 이루어지며 QEMU에서는 완전히 숨겨집니다.
특징들
QEMU는 모든 프로그램이 실행 중인 가상 시스템 상태를 저장하고 복원할 수 있습니다.게스트 운영체제는 QEMU 내에서 실행하기 위해 패치를 적용할 필요가 없습니다.
QEMU는 x86, MIPS64(릴리스 [8]6까지), SPARC(Sun4m 및 Sun4u), ARM(Integrator/CP 및 Versatile/PB), SuperH, PowerPC(PREP 및 Power Macintosh), ETRAX CRISE, MicroBLAZE 등 다양한 아키텍처의 에뮬레이션을 지원합니다.
가상 시스템은 사용자의 하드 디스크, CD-ROM 드라이브, 네트워크 카드, 오디오 인터페이스 및 USB 디바이스를 비롯한 여러 유형의 물리적 호스트 하드웨어와 인터페이스할 수 있습니다.USB 디바이스를 완전히 에뮬레이트하거나 호스트의 USB 디바이스를 사용할 수 있습니다.단, 이 경우 관리자 권한이 필요하며 일부 디바이스에서는 작동하지 않습니다.
가상 디스크 이미지는 게스트 OS가 실제로 사용하는 만큼의 디스크 공간만 사용하는 특수한 형식(qcow 또는 qcow2)으로 저장할 수 있습니다.이렇게 하면 에뮬레이트된 120GB 디스크가 호스트에서 수백MB만 차지할 수 있습니다.또한 QCOW2 형식을 사용하면 다른 (수정되지 않은) 기본 이미지 파일과의 차이를 기록하는 오버레이 이미지를 생성할 수 있습니다.이렇게 하면 에뮬레이트된 디스크의 내용을 이전 상태로 되돌릴 수 있습니다.예를 들어, 기본 이미지에는 정상적으로 동작하는 것으로 알려진 운영체제의 신규 설치가 유지되며 오버레이 이미지가 사용됩니다.바이러스 공격, 우발적인 시스템 파괴 등으로 게스트 시스템을 사용할 수 없게 된 경우 사용자는 오버레이를 삭제하고 이전에 에뮬레이트된 디스크 이미지를 사용할 수 있습니다.
QEMU는, 네트워크 주소 변환을 실시하는 것으로, 호스트 시스템의 접속을 공유하는(다른 모델의) 네트워크 카드를 에뮬레이트 할 수 있기 때문에, 게스트가 호스트와 같은 네트워크를 사용할 수 있습니다.가상 네트워크 카드는 QEMU의 다른 인스턴스의 네트워크 카드 또는 로컬 TAP 인터페이스에도 접속할 수 있습니다.QEMU가 사용하는 TUN/TAP 인터페이스를 호스트 OS의 브리지 기능을 사용하여 호스트 OS 상의 가상 이더넷인터페이스와 브리징함으로써 네트워크 접속을 실현할 수도 있습니다.
QEMU는 호스트와 게스트 시스템이 통신할 수 있도록 여러 서비스를 통합합니다.예를 들어 통합된 SMB 서버 및 네트워크 포트 리다이렉션(가상 머신에 대한 착신 연결을 허용).부트 로더 없이 Linux 커널을 부팅할 수도 있습니다.
QEMU 는, 호스트 시스템에 그래피컬한 출력 방식의 존재에 의존하지 않습니다.대신 통합된 VNC 서버를 통해 게스트 OS 화면에 액세스할 수 있습니다.또, 해당하는 operating system에서는, 화면 없이 에뮬레이트 된 시리얼 라인을 사용할 수도 있습니다.
SMP 를 실행하고 있는 복수의 CPU 를 시뮬레이트 할 수 있습니다.
속도 향상을 위한 추가 커널 모듈(KQEMU 등)을 사용하거나 네트워크 연결 모델의 특정 모드를 사용하지 않는 한 QEMU는 관리자 권한을 필요로 하지 않습니다.
작은 코드 생성기
Tiny Code Generator (TCG)는 GCC 또는 컴파일러의 특정 버전에 의존하는 단점을 제거하는 것을 목표로 하고 있습니다.대신 실행 시 QEMU에 의해 실행되는 다른 태스크에 컴파일러(코드 제너레이터)를 통합합니다.따라서 전체 번역 태스크는 두 부분으로 구성됩니다. TCG ops에서 다시 작성되는 기본 타깃 코드 블록(TB)과 TCG에 의해 호스트 아키텍처용으로 컴파일되는 일종의 중간 표기법입니다.옵션 최적화 패스는 JIT(Just-In-Time Compiler) 모드용으로 이들 간에 수행됩니다.
TCG는 TCG ops의 변환 대상을 JIT가 알 수 있도록 실행되는 모든 아키텍처를 지원하기 위해 작성된 전용 코드를 필요로 합니다.아키텍처에 사용할 수 있는 전용 JIT 코드가 없는 경우 TCG는 TCI(TCG Interpreter)라고 하는 저속 인터프리터 모드로 돌아갑니다.또한 이전 dyngen ops 대신 TCG ops를 사용하도록 타깃코드를 업데이트해야 합니다.
QEMU 버전 0.10.0 이후로는 TCG에는 QEMU 안정 릴리스가 포함되어 있습니다.이것은 GCC 3.x에 의존한 [9][10]Dyngen을 대체한다.
액셀러레이터
KQEMU는 Fabrice Bellard가 작성한 Linux 커널 모듈로, 동일한 CPU 아키텍처를 가진 플랫폼에서 x86 또는 x86-64 게스트의 에뮬레이션 속도를 높였습니다.이는 호스트 컴퓨터의 CPU에서 직접 사용자 모드 코드(및 옵션에서 일부 커널 코드)를 실행하고 커널 모드 및 리얼 모드 코드에 대해서만 프로세서와 주변 에뮬레이션을 사용함으로써 작동합니다.호스트 CPU가 하드웨어 지원 가상화를 지원하지 않는 경우에도 KQEMU는 많은 게스트 OS에서 코드를 실행할 수 있습니다.KQEMU는 처음에는 무료로 이용할 수 있는 클로즈드 소스 제품이었지만, 버전 1.3.0pre10([11]2007년 2월) 이후 GNU General Public License에 따라 잔존하게 되었습니다.0.12.0(2009년 8월[update] 현재) 이후의 QEMU [12]버전은 대용량 메모리를 지원하므로 KQEMU와 호환되지 않습니다.QEMU의 새로운 릴리스에서는 KQEMU에 대한 지원이 완전히 해제되었습니다.
QVM86은 GNU GPLv2 라이선스가 부여된 KQEMU의 드롭인 대체품입니다.QVM86 개발자는 2007년 1월에 개발을 중단했습니다.
커널 기반 가상 머신(KVM)은 KQEMU 및 QVM86에 [citation needed]대한 지원이 부족하기 때문에 QEMU에서 사용하기 위한 Linux 기반 하드웨어 지원 가상화 솔루션으로 대부분 대체되었습니다.QEMU는 ARM 및 MIPS [13]등의 다른 아키텍처에서도 KVM을 사용할 수 있습니다.
인텔의 Hardware Accelerated Execution Manager(HAXM)는 인텔 VT를 사용한NetBSD, Linux, Windows 및 MacOS에서의 x86 기반의 하드웨어 지원 가상화를 위한 KVM을 대체하는 오픈[14] 소스입니다.2013년 현재[update] 인텔은 안드로이드 [15]개발을 위해 QEMU와 함께 사용할 것을 요청하고 있습니다.버전 2.9.0 이후 정식 QEMU에는 HAXM 지원이 [16]hax라는 이름으로 포함되어 있습니다.
QEMU는 다음 [16]액셀러레이터도 지원합니다.
- hvf, Apple의
Hypervisor.framework
인텔 VT를 기반으로 합니다. - whpx, 인텔 VT 또는 AMD-V를 기반으로 하는 마이크로소프트의 Windows 하이퍼바이저 플랫폼입니다.
- tcg, QEMU 자체 Tiny Code Generator.이것이 기본값입니다.
지원되는 디스크 이미지 형식
QEMU는 다음 디스크이미지 [17]포맷을 지원합니다.
- macOSUniversal 디스크 이미지 포맷 (
.dmg
) – 읽기 전용 - Bochs – 읽기 전용
- Linux cloop – 읽기 전용
- 병렬 디스크 이미지(
.hdd
,.hds
) – 읽기 전용 - QEMU 쓰기 시 복사(
.qcow2
,.qed
,.qcow
,.cow
) - Virtual Box 가상 디스크 이미지(
.vdi
) - 가상 PC 가상 하드 디스크 (
.vhd
) - 가상 VFAT
- VMware Virtual Machine 디스크(
.vmdk
) - 미가공 이미지)
.img
디스크 섹터별 콘텐츠를 포함하는 ). - CD/DVD 이미지 (
.iso
광디스크의 섹터별 콘텐츠를 포함하는 (라이브 OS 부팅 [18]등)
QEMU 객체모델
QEMU Object Model(QOM; QEMU 오브젝트 모델)은 사용자가 생성할 수 있는 유형을 등록하고 해당 [19]유형에서 개체를 인스턴스화하기 위한 프레임워크를 제공합니다.
QOM 에는, 다음의 기능이 있습니다.
- 유형을 동적으로 등록하는 시스템
- 유형의 단일 상속 지원
- 스테이트리스 인터페이스의 다중 상속
다음 항목도 참조하십시오.오브젝트 모델
하드웨어 지원 에뮬레이션
MIPS 호환 Loongson-3 프로세서는 QEMU가 x86 명령을 번역할 수 있도록 200개의 새로운 명령을 추가했습니다.이러한 새로운 명령은 MIPS 파이프라인에서 x86/CISC 스타일의 명령을 실행하는 오버헤드를 줄입니다.중국과학원에 의한 QEMU의 추가 개선으로 Loongson-3는 9개의 벤치마크에서 [20]x86 바이너리를 실행하면서 네이티브 바이너리를 실행하는 평균 70%의 성능을 달성했습니다.2020년 6월[update] 현재 이 포크에 대한 소스 코드가 공개되지 않았기 때문에 클레임을 독립적으로 검증할 수 없습니다.
병렬 에뮬레이션
QEMU를 사용하는 가상화 솔루션은 여러 가상 CPU를 병렬로 실행할 수 있습니다.사용자 모드 에뮬레이션의 경우 QEMU는 에뮬레이트된 스레드를 호스트 스레드에 매핑합니다.풀 시스템 에뮬레이션의 경우 QEMU는 에뮬레이트된 가상 CPU(vCPU)별로 호스트스레드를 실행할 수 있습니다.이는 병렬 시스템 에뮬레이션을 지원하도록 업데이트된 게스트에 따라 달라집니다.현재 ARM, Alpha, HP-PA, PowerPC, RISC-V, s390x, x86 및 Xtensa.그렇지 않으면 단일 스레드를 사용하여 라운드 로빈 방식으로 각 vCPU를 실행하는 모든 Virtual CPU(vCPus; 가상 CPU)를 에뮬레이트합니다.
통합
가상 박스
2007년 1월에 처음 출시된 Virtual Box는 QEMU의 가상 하드웨어 디바이스 중 일부를 사용하여 QEMU를 기반으로 한 동적 재컴파일러를 내장하고 있습니다.KQEMU와 마찬가지로 Virtual Box는 VMM(가상 머신 매니저)을 통해 호스트에서 기본적으로 거의 모든 게스트 코드를 실행하고 재컴파일러를 폴백 메커니즘으로 사용합니다.리얼 [21]모드또한 Virtual Box는 내장 디스어셈블러를 사용하여 많은 코드 분석과 패치를 수행하여 재컴파일을 최소화했습니다.Virtual Box는 일부 기능을 제외하고 무료 오픈 소스(GPL에서 사용 가능)입니다.
Xen-HVM
가상 머신 모니터인 Xen은 Intel VT-x 또는 AMD-V 하드웨어 x86 가상화 확장과 ARM Cortex-A7 및 Cortex-A15 가상화 [22]확장을 사용하여 HVM(하드웨어 가상 머신) 모드로 실행할 수 있습니다.즉, 반가상화 디바이스 대신 실제 가상 하드웨어 세트가 domU에 노출되어 실제 디바이스 드라이버를 사용하여 통신합니다.
QEMU에는 CPU 에뮬레이터, 에뮬레이트 디바이스, 범용 디바이스, 머신 설명, 사용자 인터페이스 및 디버거의 여러 컴포넌트가 있습니다.QEMU의 에뮬레이트된 디바이스와 범용 디바이스는 I/O 가상화를 [23]위한 디바이스 모델을 구성합니다.PIIX3 IDE(일부 기본적인 PIIX4 기능을 탑재), Cirrus Logic 또는 플레인 VGA 에뮬레이트 비디오, RTL8139 또는 E1000 네트워크 에뮬레이션 및 ACPI [24]지원으로 구성됩니다.APIC 지원은 Xen에서 제공합니다.
Xen-HVM은 QEMU 프로젝트에 기반한 디바이스 에뮬레이션을 통해 VM에 I/O 가상화를 제공합니다.하드웨어는 dom0의 백엔드로 실행되는 QEMU "디바이스 모델" 데몬을 통해 에뮬레이트됩니다.다른 QEMU 실행 모드(동적 변환 또는 KVM)와는 달리 가상 CPU는 하이퍼바이저로 완전히 관리되며, QEMU가 메모리 매핑 I/O 액세스를 에뮬레이트할 때 가상 CPU를 정지시킵니다.
KVM
KVM(Kernel-based Virtual Machine)은 FreeBSD 및 Linux 커널 모듈로 다양한 프로세서의 하드웨어 가상화 기능에 사용자 공간 프로그램에서 액세스할 수 있습니다.QEMU는 이를 통해 x86, PowerPC 및 S/390 게스트에 대한 가상화를 제공할 수 있습니다.타겟 아키텍처가 호스트 아키텍처와 동일한 경우 QEMU는 가속 등의 KVM 특정 기능을 사용할 수 있습니다.
Win4Lin Pro 데스크톱
2005년 초 Win4Lin은 QEMU와 KQEMU의 '조정'된 버전을 기반으로 Win4Lin Pro Desktop을 출시했으며 NT 버전의 Windows를 호스트하고 있습니다.2006년 [25]6월, Win4Lin은 같은 코드 베이스로 Win4Lin Virtual Desktop Server를 출시했습니다.Win4Lin Virtual Desktop Server는 Linux 서버에서 신 클라이언트에 Microsoft Windows 세션을 제공합니다.
2006년 9월 Win4Lin은 Win4 출시와 함께 회사명을 Virtual Bridges로 변경했다고 발표했습니다.BSD Pro Desktop. FreeBSD 및 PC-BSD에 대한 제품 포트입니다.Solaris 지원은 2007년 5월에 Win4Solaris Pro Desktop 및 Win4Solaris Virtual Desktop Server [26]출시로 이어졌습니다.
시리얼 ICE
SerialICE는 QEMU 기반의 펌웨어 디버깅툴로 호스트시스템에 시리얼 접속을 통해 실제 하드웨어에 액세스하면서 QEMU 내의 시스템펌웨어를 실행합니다.이것은 하드웨어 인서킷 에뮬레이터(ICE)[27]의 저렴한 대체품으로 사용할 수 있습니다.
WinUAE
WinUAE는 버전 3.0.[28]0에서 QEMU PPC 코어를 사용하는 CyberStorm PPC 및 Blazzard 603e 보드의 지원을 도입했습니다.
유니콘
Unicon은 QEMU의 "TCG" CPU 에뮬레이터에 기반한 CPU 에뮬레이션 프레임워크입니다.QEMU와 달리 Unicon은 CPU에만 초점을 맞춥니다.주변기기의 에뮬레이션은 제공되지 않으며 (실행 가능 파일 또는 시스템이미지 이외의) 원시 바이너리 코드를 직접 실행할 수 있습니다.Unicon은 스레드 세이프이며 여러 바인딩 [29]및 계장 인터페이스가 있습니다.
에뮬레이트된 하드웨어 플랫폼
x86
CPU(2018년 3월 3일 현재)[30] Sandy [31]Bridge, Ivy [32]Bridge[33][34], Haswell[32], Broadwell 및 Skylake를 포함한 다수의 인텔 CPU 모델을 에뮬레이트할 수 있는 CPU 외에 다음과 같은 디바이스가 에뮬레이트됩니다.
- ISO 이미지를 사용한 CD/DVD-ROM 드라이브
- 플로피 디스크 드라이브
- ATA 컨트롤러 또는 시리얼 ATA AHCI 컨트롤러
- 그래픽 카드: Cirrus CLGD 5446 PCI VGA 카드, Bochs-VBE 탑재 Standard-VGA 그래픽 카드, Red Hat QXL VGA
- 네트워크 카드: Realtek 8139C+ PCI, NE2000 PCI, NE2000 ISA, PCnet, E1000(PCI 인텔 기가비트 이더넷) 및 E1000E(PCIe 인텔 기가비트 이더넷)[35][36]
- NVMe 디스크 인터페이스
- 시리얼 포트
- 병렬 포트
- PC 스피커
- i440FX/PIIX3 또는 Q35/ICH9 칩셋
- PS/2 마우스 및 키보드
- SCSI 컨트롤러: LSI MegaRAID: SAS 1078, LSI53C895A, NCR53C9x (AMD PCscsi 및 Tekram DC-390 컨트롤러에 있음)
- 사운드 카드: Sound Blaster 16, AudioPCI ES1370 (AC97), Gravis Ultrasound 및 인텔 HD[37] 오디오
- 워치독 타이머 (인텔 6300 ESB PCI 또는 iB700 ISA)
- USB 1.x/2.x/3.x 컨트롤러(UHCI, EHCI, xHCI)
- USB 디바이스:오디오, 블루투스 동글, HID(키보드/마우스/태블릿), MTP, 시리얼 인터페이스, CAC 스마트카드 리더, 스토리지(대량 전송 전용 및 USB 연결 SCSI), Wacom 태블릿
- 반가상화 버트IO 디바이스: 블록 디바이스, 네트워크 카드, SCSI 컨트롤러, 비디오 디바이스, 시리얼 인터페이스, 벌룬 드라이버, 9pfs 파일 시스템 드라이버
- 반가상화 Xen 디바이스: 블록 디바이스, 네트워크 카드, 콘솔, 프레임 버퍼 및 입력 디바이스
버전 0.12 이후 QEMU에서 사용되는 BIOS는 SeaB입니다.IOS. VGA BIOS 실장은 Plex86/Bochs에서 이루어집니다.QEMU의 UEFI 펌웨어는 OVMF입니다.[38]
Power PC
파워맥
QEMU는 다음 PowerMac 주변기기를 에뮬레이트합니다.
- UniNorth PCI 브리지
- VESA Bochs Extensions를 매핑하는 PCI-VGA 호환 그래픽 카드
- 2개의 PMAC-IDE-인터페이스(하드디스크 및 CD-ROM 지원)
- NE2000 PCI 어댑터
- 비휘발성 RAM
- ADB 키보드와 마우스를 갖춘 VIA-CUDA.
OpenBIOS가 펌웨어로 사용됩니다.
준비
QEMU는 다음 PREP 페리페럴을 에뮬레이트합니다.
- PCI 브리지
- VESA Bochs 확장 기능을 갖춘 PCI VGA 호환 그래픽 카드
- 하드 디스크와 CD-ROM을 지원하는 2개의 IDE 인터페이스
- 플로피 디스크 드라이브
- NE2000 네트워크 어댑터
- 시리얼 인터페이스
- 비휘발성 RAM 준비
- PC 호환 키보드 및 마우스
PREP 타깃에는 Open-Firmware 호환 BIOS인 Open Hack'Ware가 사용됩니다.
IBM System p
QEMU는 다음 주변기기를 사용하여 반가상화 sPAPR 인터페이스를 에뮬레이트할 수 있습니다.
- PCI 브릿지: 가상 디바이스, VGA 호환 그래픽스, USB 등에 액세스 할 수 있습니다.
- 가상 I/O 네트워크 어댑터, SCSI 컨트롤러 및 시리얼 인터페이스
- sPAPR 비휘발성 RAM
sPAPR 타겟에서는 SLOF라고 불리는 다른 Open-Firmware 호환 BIOS가 사용됩니다.
팔
ARM32
QEMU는 ARMv7 명령 세트(및 ARMv5TEJ까지)를 NEON [39]확장으로 에뮬레이트합니다.Integrator/CP 보드, Versatile Baseboard, RealView Emulation 베이스보드, XScale 기반의 PDA, Palm Tungsten E PDA, Nokia N800, Nokia N810 인터넷 태블릿 등의 전체 시스템을 에뮬레이트합니다.QEMU는 또한 Android SDK의 일부인 Android 에뮬레이터를 작동시킵니다(현재 대부분의 Android 구현은 ARM 기반입니다).삼성은 바다 SDK 2.0.0 버전부터 에뮬레이트된 '웨이브' 기기 개발을 지원하기 위해 QEMU를 선택했다.
1.5.0 및 1.6.0에서는 Samsung Exynos 4210(듀얼 코어 Cortex a9) 및 Versatile Express ARM Cortex-A9 ARM Cortex-A15가 에뮬레이트됩니다.1.6.0에서는 ARMv8(AARCH64) 아키텍처의 32비트 명령이 에뮬레이트되지만 64비트 명령은 지원되지 않습니다.
Xilinx Cortex A9 기반 Zynq SoC는 다음과 같은 요소로 모델링됩니다.
- Zynq-7000 ARM Cortex-A9 CPU
- Zynq-7000 ARM Cortex-A9 MPCORE
- 트리플 타이머 카운터
- DDR 메모리 컨트롤러
- DMA 컨트롤러 (PL330)
- 스태틱 메모리 컨트롤러(NAND/NOR 플래시)
- SD/SDIO 주변기기 컨트롤러(SDHCI)
- Zynq 기가비트이더넷 컨트롤러
- USB 컨트롤러 (EHCI - 호스트 지원만)
- Zynq UART 컨트롤러
- SPI 및 QSPI 컨트롤러
- I2C 컨트롤러
ARM64
SPARC
QEMU는 32비트 SPARC 아키텍처와 64비트 SPARC 아키텍처를 모두 지원합니다.
JavaStation(sun4m-Architecture)의 펌웨어가 버전 0.8.1 Prol이 [40]되었을 때 버전 0.8.2에서 사용된 PROM 대체가 OpenB로 대체되었습니다.IOS.
SPARC32
QEMU는 다음 Sun4m/sun4c/sun4d 주변기기를 에뮬레이트합니다.
- IOMMU 또는 IO 유닛
- TCX 프레임버퍼(그래픽카드)
- 랜스(Am7990) 이더넷
- 비휘발성 RAM M48T02/M48T08
- 슬레이브 I/O: 타이머, 인터럽트 컨트롤러, Zilog 시리얼 포트, 키보드 및 전원/리셋 로직
- ESP SCSI 컨트롤러(하드디스크 및 CD-ROM 지원)
- 플로피 드라이브(SS-600MP 비탑재)
- CS4231 사운드디바이스(SS-5에서만 동작하지 않음)
SPARC64
다음 주변기기를 사용하여 Sun4u(UltraSPARC PC 라이크머신), Sun4v(T1 PC 라이크머신) 또는 범용 Niagara(T1) 머신을 에뮬레이트합니다.
- UltraSparc IIi APB PCI 브리지
- VESA Bochs 확장 기능을 갖춘 PCI VGA 호환 카드
- PS/2 마우스 및 키보드
- 비휘발성 RAM M48T59
- PC 호환 시리얼 포트
- 2개의 PCI IDE 인터페이스(하드디스크 및 CD-ROM 지원)
- 플로피 디스크
마이크로블레이즈
지원되는 주변기기:
- MMU 포함/미포함 MicroBlaze(MMU 포함)
- AXI 타이머 및 인터럽트 컨트롤러 주변기기
- AXI 외장 메모리 컨트롤러
- AXI DMA 컨트롤러
- Xilinx AXI 이더넷
- AXI 이더넷 라이트
- AXI UART 16650 및 UARTLite
- AXI SPI 컨트롤러
래티스미코32
지원되는 주변기기:은하수 SoC에서
- UART
- VGA
- 메모리 카드
- 이더넷
- 뿌뿌
- 타이머
크리스
OpenRISC
다른이들
다음 대상을 지원하는 외부 트리가 있습니다.
「 」를 참조해 주세요.
레퍼런스
- ^ https://gitlab.com/qemu-project/qemu/-/tags/v7.0.0; 발행일: 2022년 4월 19일, 취득일: 2022년 4월 20일.
- ^ "QEMU 7.0.0 is now available". 19 April 2022. Retrieved 20 April 2022.
- ^ "License - QEMU".
- ^ Speed, Richard (2019-04-25). "QEMU 4 arrives with toys for Arm admirers, RISC-V revolutionaries, POWER patriots... you get the idea". www.theregister.co.uk. The Register. Archived from the original on 2019-10-01. Retrieved 2019-10-01.
- ^ "License - QEMU". wiki.qemu.org.
- ^ "QEMU Internals". qemu.weilnetz.de.[영구 데드링크]
- ^ "QEMU OS Support List". www.claunia.com.
- ^ "QEMU PRIP 1 - support for MIPS64 Release 6 - PRPL". wiki.prplfoundation.org. Archived from the original on 2017-04-21. Retrieved 2014-12-22.
- ^ "[Qemu-devel] ANNOUNCE: Release 0.10.0 of QEMU". lists.gnu.org.
- ^ Filardo, Nathaniel (September 11, 2007). "Porting QEMU to Plan 9: QEMU Internals and Port Strategy" (PDF). gsoc.cat-v.org. --옛 딘겐이 어떻게 일했는지에 대한 리뷰
- ^ "KQEMU 1.3.0pre10 released - under the GPL [LWN.net]". Lwn.net. February 6, 2007. Retrieved 2009-01-03.
- ^ Liguori, Anthony (10 August 2009). "[Qemu-devel] [PATCH 1/2] Unbreak large mem support by removing kqemu". Retrieved 2010-03-11.
- ^ "QEMU / KVM CPU model configuration". QEMU 5.0.50 (v5.0.0-962-g49ee115552) documentation.
- ^ "HAXM goes open source". QEMU developers. 2017-11-17. Retrieved 2017-01-14.
HAXM is now open source
- ^ "Intel Hardware Accelerated Execution Manager". Intel. 2013-11-27. Retrieved 2014-05-12.
The Intel Hardware Accelerated Execution Manager (Intel® HAXM) is a hardware-assisted virtualization engine (hypervisor) that uses Intel Virtualization Technology (Intel® VT) to speed up Android app emulation on a host machine.
- ^ a b "Invocation". QEMU 5.0.50 (v5.0.0-962-g49ee115552) documentation.
- ^ "QEMU Emulator User Documentation". qemu.weilnetz.de. Archived from the original on 2019-04-27. Retrieved 2018-04-10.
- ^ "Booting from an ISO image using qemu". Linux Tips. 3 August 2015.
- ^ "Qemu Readme". GitHub. 26 October 2021.
- ^ Hu, Weiwu; Wang, Jian; Gao, Xiang; Chen, Yunji; Liu, Qi; Li, Guojie (2009). "Godson-3: A Scalable Multicore RISC Processor with x86 Emulation". IEEE Micro. IEEE. 29 (2): 17–29. doi:10.1109/MM.2009.30. S2CID 726798. Retrieved 2009-04-16.
- ^ "VirtualBox Developer FAQ". Retrieved 2015-02-02.
- ^ "Xen ARM with Virtualization Extensions".
- ^ "Oracle and Sun Microsystems - Strategic Acquisitions - Oracle" (PDF). www.sun.com.
- ^ Xen HVM의 디스테이트화 2007년 12월 22일 Wayback Machine에서 아카이브
- ^ win4lin VDS 방송 2008년 2월 10일 Wayback Machine에서 아카이브 완료
- ^ Win4Solaris 발표 2007년 12월 23일 Wayback Machine에서 아카이브
- ^ "SerialICE". serialice.com.
- ^ "WinUAE 3.0.0". English Amiga Board. 2014-12-17. Retrieved 2016-03-25.
- ^ "Unicorn & QEMU". Unicorn Engine.
- ^ "[Qemu-devel] [PATCH 3/3] add SandyBridge CPU model". lists.gnu.org.
- ^ "Qemu-Changelog-2.3 x86". wiki.qemu.org.
- ^ a b "QEMU-changelog-2.6, x86 KVM". wiki.qemu.org.
- ^ "QEMU-changelog-2.1, x86 KVM". wiki.qemu.org.
- ^ "QEMU-changelog-2.5, x86 CPU Models and Features". wiki.qemu.org.
- ^ https://qemu.weilnetz.de/doc/qemu-doc.html#pcsys_005fnetwork Wayback Machine "i82551, i82557b, i82559er, ne2k_disa, pcnet, rtl8139, e1000, smc91c, lance 및 mcf_fec"에서 2019-04-27 아카이브 완료
- ^ http://pclosmag.com/html/issues/201208/page11.html QEMU 네트워킹: E1000 및 Novell NE2000 ISA 평가 설정
- ^ "ChangeLog/0.14". Retrieved 2011-08-08.
- ^ "UEFI/OVMF - Ubuntu Wiki".
- ^ "gitorious.org Git - rowboat: external-qemu.git/commit". gitorious.org.
- ^ "Zaitcev's Linux". 090427 people.redhat.com
- ^ "QEMU Z80 Target". Archived from the original on 2016-06-06. 090506 homepage.ntlworld.com
- ^ "QEMU links". 090506 nongnu.org
- ^ "Download - RISC-V". Archived from the original on 2016-01-23. Retrieved 2014-12-27.
외부 링크
- 공식 웹사이트
- QEMU를 사용한 시스템 에뮬레이션 및 M의 IBM developerWorks 기사.팀 존스
- QVM86 프로젝트 페이지
- 에뮬레이트된 ARM 기계의 데비안
- QEMU를 사용한 Fedora ARM 포트 에뮬레이션
- Wikibook "QEMU and KVM" (독일어 또는 영어로 번역된 컴퓨터)
- Windows에서의 QEMU
- Windows용 QEMU 바이너리
- QEMU를 사용한 마이크로블레이즈 에뮬레이션
- QEMU 속도 비교
- Unified Sessions Manager - 비공식 QEMU/KVM 컨피규레이션파일 정의
- Couverture, QEMU에 기반한 코드 커버리지 프로젝트
- QOM 문서 페이지
- https://github.com/qemu/qemu