{"id":21634074,"url":"https://github.com/bedrocksystems/vml","last_synced_at":"2026-03-06T04:03:50.110Z","repository":{"id":45427769,"uuid":"298881559","full_name":"bedrocksystems/vml","owner":"bedrocksystems","description":"Virtual Machine Libraries","archived":false,"fork":false,"pushed_at":"2025-05-12T16:38:40.000Z","size":2611,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-05-12T17:54:31.451Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bedrocksystems.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE-BlueRock","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":"support/build/bu.mk","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2020-09-26T19:03:46.000Z","updated_at":"2025-05-12T16:38:29.000Z","dependencies_parsed_at":"2023-01-22T04:15:33.009Z","dependency_job_id":"61a00a62-c2a3-43c0-94fb-8b4c9af593ce","html_url":"https://github.com/bedrocksystems/vml","commit_stats":null,"previous_names":[],"tags_count":36,"template":false,"template_full_name":null,"purl":"pkg:github/bedrocksystems/vml","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bedrocksystems%2Fvml","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bedrocksystems%2Fvml/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bedrocksystems%2Fvml/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bedrocksystems%2Fvml/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bedrocksystems","download_url":"https://codeload.github.com/bedrocksystems/vml/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bedrocksystems%2Fvml/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30161345,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-05T22:39:40.138Z","status":"online","status_checked_at":"2026-03-06T02:00:08.268Z","response_time":250,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-25T03:15:39.581Z","updated_at":"2026-03-06T04:03:50.076Z","avatar_url":"https://github.com/bedrocksystems.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# vml\n\nVirtual Machine Libraries.\n\n## Purpose\n\nThe goal of this repo is to provide simple, robust and efficient libraries that can be used to build\na virtual execution environment on various platforms. It will provide virtual hardware pieces that can\nbe put together to create a Virtual Machine or emulation engine.\n\n## Documentation\n\nDocumentation can be generated by executing:\n```sh\nmake doc\n```\n\n## Building\n\n### Requirements\n- make\n- gcc or clang (with binutils or llvm equivalents)\n- doxygen (if building the documentation)\n\n### Default configuration: POSIX+x86_64 host system assumed\n```sh\nmake\n```\n\nThis will compile a default set of libraries along with examples.\n\n### Supported configurations\n\nVML supports various combinations of platforms and architecture. At the moment, we can pick from:\n\n- x86_64 and aarch64 as the architecture (controlled by the ARCH environment variable)\n- POSIX\n\nFor example:\n```sh\nmake PLATFORM=posix ARCH=aarch64\n```\n\nwill build for a POSIX system running under an aarch64 architecture. Of course, when cross-compiling, a\ncross-compilation toolchain (and the appropriate libc,STL) should be provided.\n\n## Libraries\n\nCross-platform:\n- devices/pl011: Virtual UART PL011\n- devices/firmware: Virtual Firmware functions (PSCI 1.0 supported)\n- devices/gic: Virtual interrupt controller on ARM platforms (v2 and v3 supported)\n- devices/msr: Virtual System Registers on ARM\n- devices/simple_as: Static memory address space representation of a guest\n- devices/timer: Virtual timers on ARM\n- devices/vbus: Virtual bus, acts as an access point to the virtual address space (device and memory)\n- devices/virtio: virtio implementation for para-virtualised drivers\n- devices/virtio_net: a virtual network card based on virtio\n- devices/virtio_console: a virtual serial device baseed on virtio\n- arch/arch_api: Abstract API that should be implemented by all architecture libraries\n- arch/arch_x86_64: Concrete implementation of the architecture API for x86_64\n- arch/arch_aarch64: Concrete implementation of the architecture API for Aarch64 (ARM 64-bit)\n- config/vmm_debug: Debugging facilities\n- vcpu/cpu_model: Abstract CPU representation\n- vcpu/vcpu_roundup: API used to stop, resume VCPUs\n\nPlatform libraries (provides the functions that the libs are expecting from the platform):\n- posix\n\nNote that some libraries are self-contained (if we omit the usage of the platform lib) and some other\nlibraries have dependencies on libraries present in this repo.\n\nWhen building for POSIX, no external dependencies are required at the moment.\n\n## Porting libraries to a new architecture or platform\n\nLibraries are platform and architecture agnostic. To port them to a new architecture or platform,\na new library in arch/ or platform/ should be added.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbedrocksystems%2Fvml","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbedrocksystems%2Fvml","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbedrocksystems%2Fvml/lists"}