David Hendricks (dhendrix(a)chromium.org) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/3166
-gerrit
commit 9a52cb7be3545c1e290a4a9341eef5939a41b98f
Author: David Hendricks <dhendrix(a)chromium.org>
Date: Tue Apr 30 16:01:50 2013 -0700
armv7: invalid TLB entries as they are added/modified
The old approach was to invalidate the entire TLB every time we set up
a table entry. This worked because we didn't turn the MMU on until
after we had set everything up. Using the TLBIMVAA instruction to
invalidate each entry as it's added/modified is more correct.
Change-Id: I27654a543a2015574d910e15d48b3d3845fdb6d1
Signed-off-by: David Hendricks <dhendrix(a)chromium.org>
---
src/arch/armv7/lib/mmu.c | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/src/arch/armv7/lib/mmu.c b/src/arch/armv7/lib/mmu.c
index 82c7358..d4e08f7 100644
--- a/src/arch/armv7/lib/mmu.c
+++ b/src/arch/armv7/lib/mmu.c
@@ -99,11 +99,10 @@ void mmu_config_range(unsigned long start_mb, unsigned long size_mb,
printk(BIOS_DEBUG, "Setting dcache policy: 0x%08lx:0x%08lx [%s]\n",
start_mb << 20, ((start_mb + size_mb) << 20) - 1, str);
- for (i = start_mb; i < start_mb + size_mb; i++)
+ for (i = start_mb; i < start_mb + size_mb; i++) {
ttb_entry[i] = (i << 20) | attr;
-
- /* TODO: add helper to invalidate TLB by MVA */
- tlb_invalidate_all();
+ tlbimvaa(start_mb);
+ }
}
void mmu_init(void)
the following patch was just integrated into master:
commit c0466d46b7ea511f102eb6e57da59d95bf4ef95f
Author: Ronald G. Minnich <rminnich(a)gmail.com>
Date: Tue Apr 30 10:11:30 2013 -0700
ARMV7: add a function to disable MMU entries
It is useful to be able to lock out certain address ranges,
NULL being the most important example.
void mmu_disable_range(unsigned long start_mb, unsigned long size_mb)
will allow us to lock out selected virtual addresses on MiB boundaries.
As in other ARM mmu functions, the addresses and quantities are in units
of MiB.
Change-Id: If516ce955ee2d12c5a409f25acbb5a4b424f699b
Signed-off-by: Ronald G. Minnich <rminnich(a)gmail.com>
Reviewed-on: http://review.coreboot.org/3160
Reviewed-by: Paul Menzel <paulepanter(a)users.sourceforge.net>
Tested-by: build bot (Jenkins)
Reviewed-by: David Hendricks <dhendrix(a)chromium.org>
Build-Tested: build bot (Jenkins) at Wed May 1 14:30:49 2013, giving +1
Reviewed-By: David Hendricks <dhendrix(a)chromium.org> at Wed May 1 20:12:47 2013, giving +2
See http://review.coreboot.org/3160 for details.
-gerrit
Aaron Durbin (adurbin(a)google.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/3164
-gerrit
commit 440f987a4eb9861212c84f04917530c076aebc5c
Author: Aaron Durbin <adurbin(a)chromium.org>
Date: Wed May 1 08:40:13 2013 -0500
libpayload: make searching for a file less verbose
The cbfs core code would print out all unmatched file
names when searching for a file. This contributes to a lot
of unnecessary messages in the boot log. Change this
message to a DEBUG one so that it will only be printed when
CONFIG_DEBUG_CBFS is enabled.
Change-Id: I34c747e0d3406351318abf70994dbc0bb3fa6c01
Signed-off-by: Aaron Durbin <adurbin(a)chromium.org>
---
payloads/libpayload/libcbfs/cbfs_core.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/payloads/libpayload/libcbfs/cbfs_core.c b/payloads/libpayload/libcbfs/cbfs_core.c
index a714b91..3fe6971 100644
--- a/payloads/libpayload/libcbfs/cbfs_core.c
+++ b/payloads/libpayload/libcbfs/cbfs_core.c
@@ -158,7 +158,8 @@ struct cbfs_file *cbfs_get_file(struct cbfs_media *media, const char *name)
media->close(media);
return file_ptr;
} else {
- LOG(" (unmatched file @0x%x: %s)\n", offset, file_name);
+ DEBUG(" (unmatched file @0x%x: %s)\n", offset,
+ file_name);
media->unmap(media, file_name);
}
the following patch was just integrated into master:
commit 043b823a736d101da46a120cfa883c5c48e3ab81
Author: Hung-Te Lin <hungte(a)chromium.org>
Date: Tue Apr 30 16:14:35 2013 +0800
Google/Snow: Revise bootblock initialization.
It's fine to always start timer even in suspend/resume mode, so we can
move the timer_start() back to the very beginning of boot procedure.
That provides more precise boot time information.
With that timer change, the wake up state test procedure can be simplified.
Verified by building and booting firmware image on Google/Snow successfully,
and then suspend-resume without problem (suspend_stress_test).
Change-Id: I0d739650dbff4eb3a75acbbf1e4356f2569b487d
Signed-off-by: Hung-Te Lin <hungte(a)chromium.org>
Reviewed-on: http://review.coreboot.org/3151
Tested-by: build bot (Jenkins)
Reviewed-by: Paul Menzel <paulepanter(a)users.sourceforge.net>
Reviewed-by: Ronald G. Minnich <rminnich(a)gmail.com>
Build-Tested: build bot (Jenkins) at Wed May 1 11:00:22 2013, giving +1
Reviewed-By: Ronald G. Minnich <rminnich(a)gmail.com> at Wed May 1 18:26:50 2013, giving +2
See http://review.coreboot.org/3151 for details.
-gerrit
Aaron Durbin (adurbin(a)google.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/3164
-gerrit
commit 9fb5e0033048862c5b9b51a97842ca7db960f033
Author: Aaron Durbin <adurbin(a)chromium.org>
Date: Wed May 1 08:40:13 2013 -0500
libpayload: make searching for a file less verbose
The cbfs core code would print out all unmatched file
names when searching for a file. This contributes to a lot
of unnecessary messages in the boot log. Change this
message to a DEBUG one so that it will only be printed when
CONFIG_DEBUG_CBFS is enabled.
Change-Id: I34c747e0d3406351318abf70994dbc0bb3fa6c01
Signed-off-by: Aaron Durbin <adurbin(a)chromium.org>
---
payloads/libpayload/libcbfs/cbfs_core.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/payloads/libpayload/libcbfs/cbfs_core.c b/payloads/libpayload/libcbfs/cbfs_core.c
index a714b91..3fe6971 100644
--- a/payloads/libpayload/libcbfs/cbfs_core.c
+++ b/payloads/libpayload/libcbfs/cbfs_core.c
@@ -158,7 +158,8 @@ struct cbfs_file *cbfs_get_file(struct cbfs_media *media, const char *name)
media->close(media);
return file_ptr;
} else {
- LOG(" (unmatched file @0x%x: %s)\n", offset, file_name);
+ DEBUG(" (unmatched file @0x%x: %s)\n", offset,
+ file_name);
media->unmap(media, file_name);
}
Aaron Durbin (adurbin(a)google.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/3131
-gerrit
commit 6677018b02c94c0e41fbb7f6c7f84db58da36980
Author: Aaron Durbin <adurbin(a)chromium.org>
Date: Thu Apr 25 08:42:23 2013 -0500
cbfs: make searching for a file less verbose
The cbfs core code would print out all unmatched file
names when searching for a file. This contributes to a lot
of unnecessary messages in the boot log. Change this
message to a DEBUG one so that it will only be printed when
CONFIG_DEBUG_CBFS is enabled.
Change-Id: I1e46a4b21d80e5d2f9b511a163def7f5d4e0fb99
Signed-off-by: Aaron Durbin <adurbin(a)chromium.org>
---
src/lib/cbfs_core.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/lib/cbfs_core.c b/src/lib/cbfs_core.c
index 9732b82..1220d48 100644
--- a/src/lib/cbfs_core.c
+++ b/src/lib/cbfs_core.c
@@ -158,7 +158,8 @@ struct cbfs_file *cbfs_get_file(struct cbfs_media *media, const char *name)
media->close(media);
return file_ptr;
} else {
- LOG(" (unmatched file @0x%x: %s)\n", offset, file_name);
+ DEBUG(" (unmatched file @0x%x: %s)\n", offset,
+ file_name);
media->unmap(media, file_name);
}