forked from ~ljy/RK356X_SDK_RELEASE

hc
2024-09-20 cf4ce59b3b70238352c7f1729f0f7223214828ad
kernel/arch/mips/alchemy/common/prom.c
....@@ -34,6 +34,9 @@
3434 */
3535
3636 #include <linux/init.h>
37
+#include <linux/kernel.h>
38
+#include <linux/memblock.h>
39
+#include <linux/sizes.h>
3740 #include <linux/string.h>
3841
3942 #include <asm/bootinfo.h>
....@@ -76,6 +79,24 @@
7679 return NULL;
7780 }
7881
82
+void __init prom_init(void)
83
+{
84
+ unsigned char *memsize_str;
85
+ unsigned long memsize;
86
+
87
+ prom_argc = (int)fw_arg0;
88
+ prom_argv = (char **)fw_arg1;
89
+ prom_envp = (char **)fw_arg2;
90
+
91
+ prom_init_cmdline();
92
+
93
+ memsize_str = prom_getenv("memsize");
94
+ if (!memsize_str || kstrtoul(memsize_str, 0, &memsize))
95
+ memsize = SZ_64M; /* minimum memsize is 64MB RAM */
96
+
97
+ memblock_add(0, memsize);
98
+}
99
+
79100 static inline unsigned char str2hexnum(unsigned char c)
80101 {
81102 if (c >= '0' && c <= '9')