2c2
< * Copyright (c) 2010-2012 ARM Limited
---
> * Copyright (c) 2010-2013 ARM Limited
66c66,67
< kernelPanicEvent(NULL), kernelOopsEvent(NULL)
---
> kernelPanicEvent(NULL), kernelOopsEvent(NULL),
> bootReleaseAddr(p->boot_release_addr)
100a102
>
103a106
> kernelSymtab->findAddress("secondary_holding_pen_release", pen64ReleaseAddr);
107a111,113
> pen64ReleaseAddr &= ~ULL(0x7F);
> bootReleaseAddr = (bootReleaseAddr & ~ULL(0x7F)) + loadAddrOffset;
>
113a120
>
115c122,123
< block == penReleaseAddr)
---
> block == penReleaseAddr || pen64ReleaseAddr == block ||
> block == bootReleaseAddr)
116a125
>
148c157,158
< inform("Loading DTB file: %s\n", params()->dtb_filename);
---
> inform("Loading DTB file: %s at address %#x\n", params()->dtb_filename,
> params()->atags_addr + loadAddrOffset);
168c178
< dtb_file->setTextBase(params()->atags_addr);
---
> dtb_file->setTextBase(params()->atags_addr + loadAddrOffset);
218c228,229
< physProxy.writeBlob(params()->atags_addr, boot_data, size << 2);
---
> physProxy.writeBlob(params()->atags_addr + loadAddrOffset, boot_data,
> size << 2);
222a234
> // Kernel boot requirements to set up r0, r1 and r2 in ARMv7
226c238
< threadContexts[i]->setIntReg(2, params()->atags_addr);
---
> threadContexts[i]->setIntReg(2, params()->atags_addr + loadAddrOffset);