mirror of
https://github.com/fail0verflow/mini.git
synced 2025-02-19 13:02:44 +01:00
forbid writing to boot1/boot2
This commit is contained in:
parent
e14be86d6c
commit
d2b0ec94ec
8
nand.c
8
nand.c
@ -145,6 +145,10 @@ void nand_read_page(u32 pageno, void *data, void *ecc) {
|
|||||||
#ifdef NAND_SUPPORT_WRITE
|
#ifdef NAND_SUPPORT_WRITE
|
||||||
void nand_write_page(u32 pageno, void *data, void *ecc) {
|
void nand_write_page(u32 pageno, void *data, void *ecc) {
|
||||||
NAND_debug("nand_write_page(%u, %p, %p)\n", pageno, data, ecc);
|
NAND_debug("nand_write_page(%u, %p, %p)\n", pageno, data, ecc);
|
||||||
|
if (pageno < 0x200) {
|
||||||
|
printf("Error: nand_write to page %d forbidden\n", pageno);
|
||||||
|
return;
|
||||||
|
}
|
||||||
dc_flushrange(data, 0x800);
|
dc_flushrange(data, 0x800);
|
||||||
dc_flushrange(ecc, 0x40);
|
dc_flushrange(ecc, 0x40);
|
||||||
__nand_set_address(0, pageno);
|
__nand_set_address(0, pageno);
|
||||||
@ -158,6 +162,10 @@ void nand_write_page(u32 pageno, void *data, void *ecc) {
|
|||||||
#ifdef NAND_SUPPORT_ERASE
|
#ifdef NAND_SUPPORT_ERASE
|
||||||
void nand_erase_block(u32 pageno) {
|
void nand_erase_block(u32 pageno) {
|
||||||
NAND_debug("nand_erase_block(%d)\n", pageno);
|
NAND_debug("nand_erase_block(%d)\n", pageno);
|
||||||
|
if (pageno < 0x200) {
|
||||||
|
printf("Error: nand_erase to page %d forbidden\n", pageno);
|
||||||
|
return;
|
||||||
|
}
|
||||||
__nand_set_address(0, pageno);
|
__nand_set_address(0, pageno);
|
||||||
nand_send_command(NAND_ERASE_PRE, 0x1c, 0, 0);
|
nand_send_command(NAND_ERASE_PRE, 0x1c, 0, 0);
|
||||||
nand_send_command(NAND_ERASE_POST, 0, NAND_FLAGS_IRQ | 0x8000, 0x0);
|
nand_send_command(NAND_ERASE_POST, 0, NAND_FLAGS_IRQ | 0x8000, 0x0);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user