Much of the start.S path avoids using these registers up until now to avoid trashing any state, but its getting fairly difficult and error prone to keep this up. Save the args as soon as its known that its the boot cpu in a temporary place prior to calling lk_main. Wastes 32 bytes of memory but should be more solid.