SoC common: optimize bl30 size - common printf [3/3]
PD#SWPL-194170
Problem:
bl30 size overflow, too much printf.
Solution:
Optimize bl30 common printf.
Verify:
t5m
Change-Id: I1103da3725ed6f33ee40b7f5e54a4e0a32b24be2
Signed-off-by: bangzheng.liu <bangzheng.liu@amlogic.com>
diff --git a/interrupt_control_eclic.c b/interrupt_control_eclic.c
index 4843dcc..28f7337 100644
--- a/interrupt_control_eclic.c
+++ b/interrupt_control_eclic.c
@@ -37,15 +37,6 @@
CLICINTCTLBITS = eclic_get_clicintctlbits();
}
-void print_eclic(void)
-{
- typedef volatile uint32_t vuint32_t;
-
- vuint32_t *ptr = (vuint32_t *)(ECLIC_ADDR_BASE + ECLIC_INT_IP_OFFSET + 7 * 4);
-
- printf("\nTIME=0x%lx\n", *ptr);
-}
-
void eclic_enable_interrupt(uint32_t source)
{
*(volatile uint8_t *)(ECLIC_ADDR_BASE + ECLIC_INT_IE_OFFSET + source * 4) = 1;
@@ -334,16 +325,12 @@
{
uint32_t index;
- if (ulIrq < ECLIC_INTERNAL_NUM_INTERRUPTS || ulIrq > ECLIC_NUM_INTERRUPTS - 1) {
- printf("Error ulIrq!\n");
+ if ((ulIrq < ECLIC_INTERNAL_NUM_INTERRUPTS) || (ulIrq > ECLIC_NUM_INTERRUPTS - 1) ||
+ (src > IRQ_NUM_MAX)) {
+ //printf("irq src select err, internal Irq: %ld src: %ld\n", ulIrq, src);
return -1;
}
- if (src > IRQ_NUM_MAX) {
- printf("Error src!\n");
- return -2;
- }
-
ulIrq -= ECLIC_INTERNAL_NUM_INTERRUPTS;
#ifdef AOCPU_IRQ_NUMS_ABOVE_255
@@ -370,10 +357,8 @@
{
uint32_t index;
- if (ulIrq < ECLIC_INTERNAL_NUM_INTERRUPTS || ulIrq > ECLIC_NUM_INTERRUPTS - 1) {
- printf("Error ulIrq!\n");
+ if (ulIrq < ECLIC_INTERNAL_NUM_INTERRUPTS || ulIrq > ECLIC_NUM_INTERRUPTS - 1)
return -1;
- }
ulIrq -= ECLIC_INTERNAL_NUM_INTERRUPTS;
@@ -399,10 +384,8 @@
{
uint8_t val;
- if (int_src_sel(ulIrq, src)) {
- printf("Enable %ld irq, %ld src fail!\n", ulIrq, src);
+ if (int_src_sel(ulIrq, src))
return -1;
- }
val = eclic_get_intattr(ulIrq);
val |= ECLIC_INT_ATTR_MACH_MODE;
@@ -421,7 +404,7 @@
/* Prevent duplicate registration with the same interrupt. */
for (irq = ECLIC_INTERNAL_NUM_INTERRUPTS; irq < ECLIC_NUM_INTERRUPTS; irq++) {
if (eclic_interrupt_inner[irq - ECLIC_INTERNAL_NUM_INTERRUPTS] == int_num) {
- printf("Warning: the irq %ld has already been registered!\n", int_num);
+ printf("Warning: irq %ld already registered!\n", int_num);
return 0;
}
}
@@ -431,7 +414,7 @@
break;
}
if (eclic_map_interrupt(irq, int_num) < 0) {
- printf("eclic map error.\n");
+ printf("irq %ld register fail\n", int_num);
return -1;
}
eclic_interrupt_inner[irq - ECLIC_INTERNAL_NUM_INTERRUPTS] = int_num;
@@ -450,13 +433,9 @@
if (eclic_interrupt_inner[irq - ECLIC_INTERNAL_NUM_INTERRUPTS] == ulIrq)
break;
}
- if (irq > ECLIC_NUM_INTERRUPTS - 1) {
- printf("Error ulIrq!\n");
- return -1;
- }
if (int_src_clean(irq)) {
- printf("unregister %ld irq, %ld src fail!\n", ulIrq, irq);
+ printf("irq %ld unregister fail!\n", ulIrq);
return -1;
}
eclic_interrupt_inner[irq - ECLIC_INTERNAL_NUM_INTERRUPTS] = 0;
diff --git a/n200_func.c b/n200_func.c
index 9fdc8f8..94f6272 100644
--- a/n200_func.c
+++ b/n200_func.c
@@ -41,7 +41,7 @@
int pmpcfg_order = 0;
if ((pmp_size & (pmp_size - 1)) != 0) {
- printf("error: pmp_size is not 2^n\n");
+ PMP_PRINT("err: pmp_size is not 2^n\n");
return 0;
}
@@ -82,8 +82,7 @@
int pmp_entry_used = 0;
uint32_t pmp_region_base = start_text_addr;
- PMP_PRINT("AOCPU: configure PMP for memory 0x%lx ~ 0x%lx\n",
- start_text_addr, end_text_addr);
+ PMP_PRINT("PMP config range %lx ~ %lx\n", start_text_addr, end_text_addr);
while (text_len_left > 0) {
if ((text_len_left >= SIZE_64K) && ((pmp_region_base & (SIZE_64K - 1)) == 0))
@@ -102,8 +101,8 @@
next_seg_len = SIZE_1K;
if (next_seg_len == 0) {
- PMP_PRINT("pmp config error: not aligned.\n");
- PMP_PRINT("pmp base: 0x%x, segment left: 0x%x\n",
+ PMP_PRINT("PMP config err: not align.\n");
+ PMP_PRINT_DEBUG("pmp base: 0x%x, segment left: 0x%x\n",
pmp_region_base, text_len_left);
break;
}
@@ -153,7 +152,7 @@
(pmp_cfg[5] << 8) | (pmp_cfg[4] << 0));
PMP_PRINT_DEBUG("pmpcfg1 : %lx\n", read_csr(pmpcfg1));
- PMP_PRINT("AOCPU: configure PMP end\n");
+ PMP_PRINT("PMP config end\n");
return 0;
}