Skip to content

Proxy --acpi-table, --device-tree-overlay, and --file-backed-mapping to crosvm run - #2960

Open
erjiaqing wants to merge 1 commit into
google:mainfrom
erjiaqing:510177847
Open

Proxy --acpi-table, --device-tree-overlay, and --file-backed-mapping to crosvm run#2960
erjiaqing wants to merge 1 commit into
google:mainfrom
erjiaqing:510177847

Conversation

@erjiaqing

Copy link
Copy Markdown

This CL Introduce new command line arguments and cuttlefish config properties to allow proxying user provided ACPI tables, device tree overlays, and file-backed mappings to crosvm run command.

Assisted-by: Antigravity:Gemini-Next
Bug: 510177847

…to crosvm run

Introduce new gflags and cuttlefish config properties to allow proxying user provided ACPI tables, device tree overlays, and file-backed mappings to crosvm run command. These options are passed when starting the main crosvm runner command.

Assisted-by: Antigravity:Gemini-Next

TAG=agy

CONV=2a93473d-f5c9-4f0d-89a1-b07cb069a790
@adelva1984
adelva1984 requested a review from Databean August 5, 2026 23:10
@Databean Databean added the kokoro:run Run e2e tests. label Aug 5, 2026
@GoogleCuttlefishTesterBot GoogleCuttlefishTesterBot removed the kokoro:run Run e2e tests. label Aug 5, 2026
Comment on lines +625 to +626
std::vector<std::string> crosvm_file_backed_mapping_vec =
CF_EXPECT(GET_FLAG_STR_VALUE(crosvm_file_backed_mapping));

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The suggested arguments of addr=NUM,size=NUM,path=PATH,offset=NUM,rw,sync,align,ram will interact badly with GET_FLAG_STR_VALUE, which separates arguments to different by splitting on commas.

Specifically,

cvd create --crosvm_file_backed_mapping=addr=NUM,size=NUM --num_instances=2

will result in two invocations of crosvm:

$ crosvm --file-backed-mapping=addr=NUM
$ crosvm --file-backed-mapping=size=NUM

which I assume is not the intended behavior.

The easy option is to put this in CuttlefishConfig rather than CuttlefishConfig::InstanceSpecific and declare that all instances launched concurrently must use the same value.

Another route we've gone is e.g. extra_bootconfig_args_base64 which expects the arguments to be base64-encoded so that GET_FLAG_STR_VALUE can correctly divide the arguments between instances.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants