On 06/07/2010 08:01 PM, Paul Brook wrote:
diff --git a/hw/realview.c b/hw/realview.c
index a36bdbe..8dcef80 100644
--- a/hw/realview.c
+++ b/hw/realview.c
@@ -444,9 +444,9 @@ static QEMUMachine realview_eb_mpcore_machine = {
.init = realview_eb_mpcore_init,
.opts_default = (QemuOptValue[]) {
QOPT_VALUE("default_drive", "scsi"),
+ QOPT_VALUE("max_cpus", "4"),
{ /* end of list */ }
},
- .max_cpus = 4,
};
By my reading this allows the user to modify this value. If so it is wrong.
max_cpus is complicated because it was used for multiple purposes.
I think max_cpus ought to be configurable. The reason it's useful to
configure it that it lets a downstream specify a recommended max cpu
that's mostly relevant from a scalability perspective. For instance,
you may want to set the pc max_cpus to 64 since this is the highest that
KVM supports today.
This is a fundamental property/limitation of the hardware. Expect qemu to
crash if the value is modified.
In this case, the machine cores should be rejecting totally invalid
values to prevent crashes from occurring. My reading of realview does
not suggest that a crash would occur. Are you speaking in general terms
or do you think it will actually fail in realview?
Regards,
Anthony Liguori
Paul