|
|
1.1 ! root 1: /****************************************************************************** ! 2: * Copyright (c) 2004, 2008 IBM Corporation ! 3: * All rights reserved. ! 4: * This program and the accompanying materials ! 5: * are made available under the terms of the BSD License ! 6: * which accompanies this distribution, and is available at ! 7: * http://www.opensource.org/licenses/bsd-license.php ! 8: * ! 9: * Contributors: ! 10: * IBM Corporation - initial implementation ! 11: *****************************************************************************/ ! 12: ! 13: #include <macros.h> ! 14: #include "takeover.h" ! 15: ! 16: .globl _wrapclient ! 17: .section ".start" ! 18: .align 3 ! 19: ! 20: _wrapclient: ! 21: bcl 20,31,over # branch after pointer table ! 22: base: ! 23: .align 3 ! 24: .LCgot: .quad _got-base+0x8000 ! 25: over: ! 26: mflr r8 # gpr 8 is the base ! 27: ld r2, .LCgot-base(r8) # load got pointer ! 28: add r2, r2, r8 # add base ! 29: li 14, 0 ! 30: oris 14, 14, __bssSize@h ! 31: ori 14, 14, __bssSize@l ! 32: addi 14,14,7 ! 33: srwi 14,14,3 ! 34: mtctr 14 ! 35: li 14, 0 ! 36: oris 14, 14, __bssStart@h ! 37: ori 14, 14, __bssStart@l ! 38: subi 14, 14, 8 ! 39: li 15, 0 ! 40: 1: ! 41: stdu 15,8(14) ! 42: bdnz 1b ! 43: ! 44: bl ._entry ! 45: ! 46: ! 47: ! 48: .globl slaveLoopNoTakeover ! 49: slaveLoopNoTakeover: ! 50: mr 28,3 ! 51: ! 52: li 14,0 ! 53: oris 14, 14, slaveQuitt@h ! 54: ori 14, 14, slaveQuitt@l ! 55: ! 56: li 3,0 ! 57: std 3,0(14) ! 58: 1: ! 59: ld 3,0(14) ! 60: cmpld 3,28 ! 61: bne 1b ! 62: ! 63: li 3,0 ! 64: std 3,0(14) ! 65: ! 66: LOAD64(r3, (TAKEOVERBASEADDRESS+0x150)) ! 67: mtctr r3 ! 68: bctr ! 69: ! 70: ! 71: .globl slaveLoop ! 72: slaveLoop: ! 73: mr 28,3 ! 74: li r3, 0x5124 ! 75: li r0, -1; .long 0x44000022 ! 76: ! 77: li 14,0 ! 78: oris 14, 14, slaveQuitt@h ! 79: ori 14, 14, slaveQuitt@l ! 80: li 3,0 ! 81: std 3,0(14) ! 82: 1: ! 83: ld 3,0(14) ! 84: cmpld 3,28 ! 85: bne 1b ! 86: ! 87: li 3,0 ! 88: std 3,0(14) ! 89: ! 90: LOAD64(r3, (TAKEOVERBASEADDRESS+0x150)) ! 91: mtctr r3 ! 92: bctr ! 93:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.