These 6 commits are when the Protocol Buffers files have changed:
Commit: | 25b9859 | |
---|---|---|
Author: | Alexander Jung | |
Committer: | Alexander Jung |
feat: Upgrade QEMU from v7.1.0 to v7.2.4 This is the latest version of the v7 series. At the same time, set the QMP version such that it is reflected via the import. We are setting `v7alpha2` here instead of `v7` because the QMP implementation is incomplete. If it is fully populated we can rename to `v7`, representing a complete API that can then be referenced. Signed-off-by: Alexander Jung <alex@unikraft.io>
The documentation is generated from this commit.
Commit: | 73bb42f | |
---|---|---|
Author: | Alexander Jung | |
Committer: | Alexander Jung |
feat(v1alpha1): Introduce QMP-specific protobuf for network devices Signed-off-by: Alexander Jung <alex@unikraft.io>
Commit: | a6c7267 | |
---|---|---|
Author: | Alexander Jung | |
Committer: | Alexander Jung |
fix(v1alpha1): Fix use of empty/Any return for `Capabilities` The QMP return structure for the `qmp_capabilities` RPC does not return a populated structure. Align with existing RPC methods and return the `google.protobuf.Any` structure. Signed-off-by: Alexander Jung <alex@unikraft.io>
Commit: | cf2fd73 | |
---|---|---|
Author: | Alexander Jung | |
Committer: | Alexander Jung |
docs(v1alpha1): Squash the license and copyright notice preamble This commit "squashes" the license and copyright preamble in files associated with this sign off. The preamble already includes the SPDX license identifier which essentially duplicates the text in question. Additionally, this license, in accordance with the license, is distributed with the source code via the `LICENSE.md` file which is accompanied in this repository. Additionally, copyright notice is provided to The KraftKit Authors, which entitles new developers who contribute commits to the project an associated copyright with regard to their contributions without having to specifically update the license and copyright preamble. Signed-off-by: Alexander Jung <alex@unikraft.io>
Commit: | 4b10969 | |
---|---|---|
Author: | Alexander Jung |
machine/qemu/qmp/v1alpha: Add system powerdown, reset and wakeup calls Signed-off-by: Alexander Jung <alex@unikraft.io>
Commit: | 23d1a18 | |
---|---|---|
Author: | Alexander Jung |
machine/qemu{/qmp}: Introduce QEMU QMP Protobuf definitions This commit introduces serialized definition of a limited set of method calls and events from QEMU's "QAPI" known as QMP. The definitions are defined as Google Protobuf files and generated using the previously introduced tool `protoc-gen-go-netconn`. The QAPI protocol is relatively simple and is defined within QEMU's source code in the `qapi/` folder. The protocol is enabled by invoking `-qmp` during the instantiation of the `qemu-system-*` binary. In server mode, the interface sends and receives JSON terminated by a newline (`\n`). The interface first expets a simple handshake which is used to indicate the version of QEMU followed immediately by a "capabilities" request: this is serialized in the "greeting" service. By defining QAPI via Protobuf and with the associated tool, we are able to maintain future additions to QAPI by providing the relevant service. It is also easy to add existing interactions via Request-Response format which is defined within `services.proto`. This commit also includes the generated artifacts from the protoc definitions which is done using `buf`[0]. In the future, these files should be checked by the CI and also relevant generation of said files should be added to the project's build system as a preparation step before building the `kraft` binary. Further on, it would be nice to automatically generate the QAPI interface by directly parsing the source files from QEMU as they are defiend in a relatively standard fashion. [0]: https://buf.build/ Signed-off-by: Alexander Jung <alex@unikraft.io>