1*cf84ac9aSAndroid Build Coastguard Worker /* Return codes: 1 - ok, 0 - ignore, other - error. */ 2*cf84ac9aSAndroid Build Coastguard Worker static int arch_get_scno(struct tcb * tcp)3*cf84ac9aSAndroid Build Coastguard Workerarch_get_scno(struct tcb *tcp) 4*cf84ac9aSAndroid Build Coastguard Worker { 5*cf84ac9aSAndroid Build Coastguard Worker tcp->scno = ppc_regs.gpr[0]; 6*cf84ac9aSAndroid Build Coastguard Worker /* 7*cf84ac9aSAndroid Build Coastguard Worker * Check for 64/32 bit mode. 8*cf84ac9aSAndroid Build Coastguard Worker * Embedded implementations covered by Book E extension of PPC use 9*cf84ac9aSAndroid Build Coastguard Worker * bit 0 (CM) of 32-bit Machine state register (MSR). 10*cf84ac9aSAndroid Build Coastguard Worker * Other implementations use bit 0 (SF) of 64-bit MSR. 11*cf84ac9aSAndroid Build Coastguard Worker */ 12*cf84ac9aSAndroid Build Coastguard Worker unsigned int currpers = (ppc_regs.msr & 0x8000000080000000) ? 0 : 1; 13*cf84ac9aSAndroid Build Coastguard Worker update_personality(tcp, currpers); 14*cf84ac9aSAndroid Build Coastguard Worker return 1; 15*cf84ac9aSAndroid Build Coastguard Worker } 16