Lines Matching refs:mdesc
0 /* mdesc.c: Sun4V machine description handling.
17 #include <asm/mdesc.h>
73 struct mdesc_hdr mdesc;
80 BUG_ON(((unsigned long)&hp->mdesc) & (16UL - 1));
337 printk(KERN_ERR "MD: mdesc alloc fails\n");
341 status = sun4v_mach_desc(__pa(&hp->mdesc), len, &real_len);
343 printk(KERN_ERR "MD: mdesc reread fails with %lu\n",
368 static struct mdesc_elem *node_block(struct mdesc_hdr *mdesc)
370 return (struct mdesc_elem *) (mdesc + 1);
373 static void *name_block(struct mdesc_hdr *mdesc)
375 return ((void *) node_block(mdesc)) + mdesc->node_sz;
378 static void *data_block(struct mdesc_hdr *mdesc)
380 return ((void *) name_block(mdesc)) + mdesc->name_sz;
386 struct mdesc_elem *ep = node_block(&hp->mdesc);
387 const char *names = name_block(&hp->mdesc);
388 u64 last_node = hp->mdesc.node_sz / 16;
415 const char *names = name_block(&hp->mdesc);
416 u64 last_node = hp->mdesc.node_sz / 16;
417 void *data = data_block(&hp->mdesc);
423 ep = node_block(&hp->mdesc) + node;
460 struct mdesc_elem *ep, *base = node_block(&hp->mdesc);
461 const char *names = name_block(&hp->mdesc);
462 u64 last_node = hp->mdesc.node_sz / 16;
486 struct mdesc_elem *ep, *base = node_block(&hp->mdesc);
496 struct mdesc_elem *ep, *base = node_block(&hp->mdesc);
497 const char *names = name_block(&hp->mdesc);
498 u64 last_node = hp->mdesc.node_sz / 16;
883 else if (copy_to_user(buf, &hp->mdesc, hp->handle_size))
897 .name = "mdesc",
923 status = sun4v_mach_desc(__pa(&hp->mdesc), len, &real_len);