Index: lib/chromeos/os_storage.c |
diff --git a/lib/chromeos/os_storage.c b/lib/chromeos/os_storage.c |
index b3bec425d094e04d334ef548e669b1353e72659c..c80ce043c286c02daabb2267c74bc10dac9535d0 100644 |
--- a/lib/chromeos/os_storage.c |
+++ b/lib/chromeos/os_storage.c |
@@ -214,5 +214,34 @@ EXIT: |
(int) params->bootloader_size); |
} |
+ /* |
+ * TODO(clchiou): This is an urgent hack for bringing up factory. We |
+ * fill in data that will be used by kernel at last 1MB space. |
+ * |
+ * Rewrite this part after the protocol specification between |
+ * Chrome OS firmware and kernel is finalized. |
+ */ |
+ if (status == LOAD_KERNEL_SUCCESS) { |
+ DECLARE_GLOBAL_DATA_PTR; |
+ |
+ struct kernel_shared_data { |
+ uint32_t chsw; |
+ uint8_t hwid[256]; |
+ uint32_t fwid; |
rongchang
2011/04/06 11:52:04
fwid & frid are asciiz too
Che-Liang Chiou
2011/04/07 11:17:32
Done.
|
+ uint32_t frid; |
+ uint32_t binf[4]; |
rongchang
2011/04/06 11:52:04
binf[5]
Che-Liang Chiou
2011/04/07 11:17:32
Done.
|
+ uint32_t gpio; |
rongchang
2011/04/06 11:52:04
gpio[11]
Che-Liang Chiou
2011/04/07 11:17:32
Done.
|
+ uint32_t vbnv[2]; |
+ uint64_t fmap_start_address; |
+ } __attributed__((packed)) *sd; |
+ sd = (struct kernel_shared_data*) ( |
+ gd->bd->bi_dram[CONFIG_NR_DRAM_BANKS-1].start + |
+ gd->bd->bi_dram[CONFIG_NR_DRAM_BANKS-1].size - |
+ SZ_1M); |
+ |
+ /* TODO fill in shared data */ |
+ memset(sd, '\0', sizeof(*sd)); |
+ } |
+ |
return status; |
} |