CrownyVM v0.1.0 — 4상균형3진법 ARM64 하이퍼바이저
개요
macOS Apple Silicon(M2 Max) 위에서 Windows 11 ARM을 실행하는 하이퍼바이저. VMware/Parallels와 동급 기능을 크라우니 4상균형3진법 아키텍처로 구현. NinjaTrader 8 트레이딩 소프트웨어 실행이 최종 목표.
무엇을 했는지
13 Phase, 99 태스크 계획을 수립하고 전체 구현 완료.
Phase 1-2: 코어 (C)
- Hypervisor.framework 기반 VM 생성/파괴/상태관리
- vCPU 생성 + pthread 실행 루프
- 메모리 매핑 (mmap + hv_vm_map)
- 4상균형3진 기본형: trit_t, cube27_t, Kleene 논리
- MMIO 디스패치 (64개 장치 슬롯)
Phase 3: GICv3 인터럽트 컨트롤러
- GICD (Distributor): CTLR, TYPER, ISENABLER, IPRIORITYR, IROUTER
- GICR (Redistributor): per-CPU SGI/PPI
- ICC 시스템 레지스터 에뮬레이션
- 3진 우선순위 IRQ 주입 (T→0x00, O→0x80, A→0xFF)
Phase 4-5: 펌웨어
- UEFI 로더 (AAVMF 바이너리 로드)
- 64MB NOR 플래시 에뮬레이션
- ACPI 테이블: RSDP/XSDT/MADT/GTDT/FADT (HW_REDUCED + PSCI)
- SMBIOS 3.0: "CrownyStation Pro" 시스템 정보
- FDT 커스텀 빌더 (libfdt 미사용, 230줄)
- VirtIO MMIO v2 전송 레지스터
Phase 6-9: 장치 에뮬레이션 (17개 장치)
- VirtIO: blk, net, GPU(2D), RNG, keyboard, mouse, vsock, balloon, 9p
- PCI ECAM 호스트 브릿지 (최소)
- PL011 UART, PL031 RTC, ARM Generic Timer, Power
- Storage: raw, qcow2, AIO(GCD), ISO 9660, 스냅샷
- Network: vmnet NAT/bridge, MAC 생성, 통계, 대역폭 토큰버킷
- Display: Metal/Cocoa 윈도우, macOS→Linux 키맵, 클립보드
Phase 10-11: Windows 호환성 + 성능
- TPM 2.0 (CRB 인터페이스, MMIO 0x09040000)
- Secure Boot 상태 보고
- SMBIOS 스푸핑 (3개 프로필: CrownyStation/Desktop/Surface)
- ACPI 전원 관리 (S0-S5)
- unattend.xml 자동 생성 (ko-KR, user=Crowny, 자동로그인)
- NinjaTrader 최적화 프로필 (GPU/CPU/메모리 튜닝)
- HugePage, kqueue I/O 폴링, CPU affinity, 더티 페이지 추적
Phase 12: 한선씨 관리 콘솔
- 7개 모듈: 메인, VM생성, VM제어, 설정, 스냅샷, 모니터링, 설치마법사
- 통합 빌드 (콘솔.한선, 1,286줄)
- hanseonc_high 컴파일 성공 (10,323 큐브)
- 4상 상태 전이 런타임 검증 통과
코드 통계
| 모듈 | 언어 | 줄 수 |
|---|---|---|
| core | C | 1,195 |
| device | C | 2,013 |
| firmware | C | 853 |
| storage | C | 353 |
| network | C | 243 |
| display | C/ObjC | 248 |
| compat | C | 339 |
| manage | 한선씨 | 1,286 |
| 합계 | 6,530 |
관련 파일
- 프로젝트:
/Users/ef/crowny-vm/ - CLAUDE.md:
/Users/ef/crowny-vm/CLAUDE.md - 계획:
/Users/ef/crowny-vm/PLAN.md - 한선씨 콘솔:
/Users/ef/crowny-vm/manage/콘솔.한선
잔여 이슈
- 디스크 공간: Windows 11 ARM ISO + 디스크 이미지에 30GB+ 필요 (현재 여유 ~10GB)
- UEFI 펌웨어: AAVMF 바이너리 수동 설치 필요 (brew install qemu → 복사)
- VirtIO 드라이버: Windows용 VirtIO ISO 별도 다운로드 필요
- vmnet 권한: vmnet.framework는 root 또는 특별 권한 필요 (sudo)
- crownyc VM 문자열 제한: 관리 콘솔 전체 실행 시 문자열 풀 초과 → crownyc 업그레이드 필요
- 한선씨 동반 파일: C 코드의 한선씨 동반 파일 미작성 (별도 태스크)