staticinlinestruct drmem_lmb *drmem_lmb_next(struct drmem_lmb *lmb, conststruct drmem_lmb *start)
{ /* * DLPAR code paths can take several milliseconds per element * when interacting with firmware. Ensure that we don't * unfairly monopolize the CPU.
*/ if (((++lmb - start) % 16) == 0)
cond_resched();
/* * The of_drconf_cell_v1 struct defines the layout of the LMB data * specified in the ibm,dynamic-memory device tree property. * The property itself is a 32-bit value specifying the number of * LMBs followed by an array of of_drconf_cell_v1 entries, one * per LMB.
*/ struct of_drconf_cell_v1 {
__be64 base_addr;
__be32 drc_index;
__be32 reserved;
__be32 aa_index;
__be32 flags;
};
/* * Version 2 of the ibm,dynamic-memory property is defined as a * 32-bit value specifying the number of LMB sets followed by an * array of of_drconf_cell_v2 entries, one per LMB set.
*/ struct of_drconf_cell_v2 {
u32 seq_lmbs;
u64 base_addr;
u32 drc_index;
u32 aa_index;
u32 flags;
} __packed;
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.