RE: [patch] per cpu MCA/INIT save areas (take 2)

Luck, Tony
2004-11-17T18:59:03Z

>One technical concern is that the routine uses r16, r17, r18, r19, r20.
>Optimizing is may squeeze out a couple but the bigger question is what
>scratch registers are available? Specificly, ia64_os_mca_proc_state_dump
>saves off r16+ registers, so it would be good not to trash >them before they
>are saved.

In most cases the MCA/INIT is taken when PSR.bn is 1, so in these cases
you have just switched to bank 0, and all of r16-r31 are available as
scratch. If PSR.bn was zero when the MCA/INIT occurred, then you will
trample on values that might be useful. Now you will need some registers
to get running, so the best you can do is limit the damage by using as
few registers as possible before the 'save everything' code kicks in.

>
>Other than that issue, it looks like a macro could be used
>instead of k3.

I'm not a big fan of dozen line macros with weird calling/register
conventions. I'd prefer k3.

-Tony