David Brazdil | 0f672f6 | 2019-12-10 10:32:29 +0000 | [diff] [blame^] | 1 | // SPDX-License-Identifier: GPL-2.0-only |
Andrew Scull | b4b6d4a | 2019-01-02 15:54:55 +0000 | [diff] [blame] | 2 | /* |
| 3 | * Copyright IBM Corporation, 2007 |
| 4 | * Josh Boyer <jwboyer@linux.vnet.ibm.com> |
| 5 | * |
| 6 | * Based on ebony wrapper: |
| 7 | * Copyright 2007 David Gibson, IBM Corporation. |
Andrew Scull | b4b6d4a | 2019-01-02 15:54:55 +0000 | [diff] [blame] | 8 | */ |
| 9 | #include "ops.h" |
| 10 | #include "stdio.h" |
| 11 | #include "44x.h" |
| 12 | #include "stdlib.h" |
| 13 | |
| 14 | BSS_STACK(4096); |
| 15 | |
| 16 | #define PIBS_MAC0 0xfffc0400 |
| 17 | #define PIBS_MAC1 0xfffc0500 |
| 18 | char pibs_mac0[6]; |
| 19 | char pibs_mac1[6]; |
| 20 | |
| 21 | static void read_pibs_mac(void) |
| 22 | { |
| 23 | unsigned long long mac64; |
| 24 | |
| 25 | mac64 = strtoull((char *)PIBS_MAC0, 0, 16); |
| 26 | memcpy(&pibs_mac0, (char *)&mac64+2, 6); |
| 27 | |
| 28 | mac64 = strtoull((char *)PIBS_MAC1, 0, 16); |
| 29 | memcpy(&pibs_mac1, (char *)&mac64+2, 6); |
| 30 | } |
| 31 | |
| 32 | void platform_init(void) |
| 33 | { |
| 34 | unsigned long end_of_ram = 0x8000000; |
| 35 | unsigned long avail_ram = end_of_ram - (unsigned long)_end; |
| 36 | |
| 37 | simple_alloc_init(_end, avail_ram, 32, 64); |
| 38 | read_pibs_mac(); |
| 39 | bamboo_init((u8 *)&pibs_mac0, (u8 *)&pibs_mac1); |
| 40 | } |