-
Notifications
You must be signed in to change notification settings - Fork 180
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Minor QEMU tweaks for x86 and custom firmware #1484
base: master
Are you sure you want to change the base?
Conversation
At least for x86 devices it is not necessary to provide these arguments. Make them optional. Add an x86 example to the documentation too. Signed-off-by: Simon Glass <[email protected]>
These arguments are currently set on activation. Where the driver is being used by a strategy, it may need to set the arguments after that. There is no need to have everything set in stone until the on() method is called, so move it there. For existing users, no functional change is intended. Signed-off-by: Simon Glass <[email protected]>
The U-Boot strategy will need to provide the filename of the BIOS directly when booting U-Boot on QEMU. Add a method to support this. Signed-off-by: Simon Glass <[email protected]>
Rather than provide a strange exception, complain when a strategy does not use the QEMU driver properly, perhaps due to user settings. Series-changes: 6 - Add new patch to report an error if QEMU is not turned on Signed-off-by: Simon Glass <[email protected]>
@@ -192,6 +204,9 @@ def get_qemu_base_args(self): | |||
cmd.append("-bios") | |||
cmd.append( | |||
self.target.env.config.get_image_path(self.bios)) | |||
elif self._bios_fname: | |||
cmd.append("-bios") | |||
cmd.append(self._bios_fname) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Now we can provide bios
via the client arguments and than set _bios_fname
via the set_bios()
function. Why don't you modify bios
instead?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Well in this case 'bios' would not be provided.
The point here is that the strategy can provide the firmware, no matter what board type is chosen. We don't have to have a different 'bios' for every architecture / target.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In case this driver is used by your strategy it is not provided, but it is still possible. Please modify this to use self.bios
instead of the new hidden self._bios_fname
.
This PR increases the flexibility of the QEMU driver so that it can support booting different firmware (i.e. U-Boot) and also running on x86 where some parameters are typically not specified.