Just open part of TRACE32 scripts on my hand.
Stability - TRACE32 cmm script - Power - wake source list:
area.create wakeup_source 300. 6000.
area.clear wakeup_source
area.view wakeup_source
area.select wakeup_source
&wsoff=address.offset(v.address(((struct wakeup_source)0x0).entry))
print "--------------------------------------------------------------------------------------"
&prev=v.value(((struct list_head*)&wakeup_sources)->prev)
&next=v.value(((struct list_head*)&wakeup_sources)->next)
&index=0x1
&pnext=&next
print "current active ws:"
while (&next!=&prev)
(
&ws=&next-&wsoff
&active=v.value(((struct wakeup_source*)&ws)->active)
if (&active==0x1)
(
&name=v.value(((struct wakeup_source*)&ws)->name)
&name=data.string(D:&name)
print "&name active:&active"
print "v.v (struct wakeup_source *)&ws"
)
&next=v.value(((struct list_head*)&next)->next)
)
print "---------------------------------------------------------------------"
print "All ws:"
&next=&pnext
while (&next!=&prev)
(
&ws=&next-&wsoff
&name=v.value(((struct wakeup_source*)&ws)->name)
&name=data.string(D:&name)
&active=v.value(((struct wakeup_source*)&ws)->active)
print "&index &name active:&active"
print "v.v (struct wakeup_source *)&ws"
&next=v.value(((struct list_head*)&next)->next)
&index=&index+0x1
)
enddo