|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH v2 1/2] docs: update hyperlaunch device tree
Hi, On 03/08/2023 11:44, Daniel P. Smith wrote: ---------------- +This node describes a boot module loaded by the boot loader. A ``module`` node +will often appear repeatedly and will require a unique and DTB compliant name +for each instance. For clarification, do you mean module@<unit>? or something different? The compatible property is required to identify that the +node is a ``module`` node, the type of boot module, and what it represents.-This node describes a boot module loaded by the boot loader. The required-compatible property follows the format: module,<type> where type can be -“kernel”, “ramdisk”, “device-tree”, “microcode”, “xsm-policy” or “config”. In -the case the module is a multiboot module, the additional property string -“multiboot,module” may be present. One of two properties is required and -identifies how to locate the module. They are the mb-index, used for multiboot -modules, and the module-addr for memory address based location. +Depending on the type of boot module, the ``module`` node will require either a +``module-index`` or ``module-addr`` property must be present. They provide the +boot module specific way of locating the boot module in memory. + +Properties +""""""""""compatible All but the last are pretty self-explanatory. Can you clarify what the last one is? + + locating type: index, addr It is not clear to me why you need to specify the locating type in the compatible. Would not it be sufficient to check the presence of either module-index or module-addr? If you still want both, then which property belong to which compatible? 'multiboot' is somewhat overloaded as we also use it to describe the binding in the device-tree. So I would clarify which multiboot you are referring to. I assume this is x86 multiboot. That said, my knowledge about it is limited. How would a user be able to find the index to write down here?
+ Format: Integer, e.g. <0>
What is the expected number of cells?
I realize this wasn't added in your patch. But it is not entirely clear what this means given that an admin may still want to use 'bootargs' even if there is a single kernel. This is actually a good example where '0' would become confusing because the name of the domain is 'dom0' so one could mistakenly assume that it means domid 0 will be assigned. + + role = <9>; Reading this, I wonder if using number is actually a good idea. While this is machine friendly, this is not human friendly. The most human friendly interface would be to use string, but I understand this is more complex to parse. So maybe we could use some pre-processing (like Linux does) to ease the creation of the hyperlaunch DT. Bertrand, Stefano, what do you think? Arm guest have similar feature compare to PVH guest but they are strictly not the same. So we have been trying to avoid using the term on Arm. I would prefer if we continue to avoid using the word 'PVH' to describe Arm. Lets just call them 'Arm guest'. + + memory = <0x0 0x20000>; Here you use the integer version, but AFAICT this wasn't described in the binding above. Reading the binding, this is suggest that the first cell is the start address and the second is the size. Cells are 32-bits. So what if you have a 64-bit address? For 'reg' property, the DT addressed this by using #address-cells and #size-cells to indicate the number of cells for each. It is not clear what you mean by 'compiled in'. Do you mean the /hypervisor node will be present in the device-tree provided to Xen? The remaining +modules would need to be loaded in the respective addresses specified in the +`module-addr` property. Cheers, -- Julien Grall
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |