Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2cb1a30f authored by qctecmdr's avatar qctecmdr Committed by Gerrit - the friendly Code Review server
Browse files

Merge "msm: Update the kernel log messages"

parents ca57f5b3 a4b56a2c
Loading
Loading
Loading
Loading
+100 −0
Original line number Diff line number Diff line
@@ -462,6 +462,56 @@ static void __init free_highpages(void)
#endif
}

#define MLK(b, t) (b), (t), (((t) - (b)) >> 10)
#define MLM(b, t) (b), (t), (((t) - (b)) >> 20)
#define MLK_ROUNDUP(b, t) (b), (t), (DIV_ROUND_UP(((t) - (b)), SZ_1K))

#ifdef CONFIG_ENABLE_VMALLOC_SAVING
static void print_vmalloc_lowmem_info(void)
{
	struct memblock_region *reg, *prev_reg = NULL;

	pr_notice(
		"	   vmalloc : 0x%08lx - 0x%08lx   (%4ld MB)\n",
		MLM((unsigned long)high_memory, VMALLOC_END));

	for_each_memblock_rev(memory, reg) {
		phys_addr_t start_phys = reg->base;
		phys_addr_t end_phys = reg->base + reg->size;

		if (start_phys > arm_lowmem_limit)
			continue;

		if (end_phys > arm_lowmem_limit)
			end_phys = arm_lowmem_limit;

		if (prev_reg == NULL) {
			prev_reg = reg;

			pr_notice(
			"	   lowmem  : 0x%08lx - 0x%08lx   (%4ld MB)\n",
			MLM((unsigned long)__va(start_phys),
			(unsigned long)__va(end_phys)));

			continue;
		}

		pr_notice(
		"	   vmalloc : 0x%08lx - 0x%08lx   (%4ld MB)\n",
		MLM((unsigned long)__va(end_phys),
		(unsigned long)__va(prev_reg->base)));


		pr_notice(
		"	   lowmem  : 0x%08lx - 0x%08lx   (%4ld MB)\n",
		MLM((unsigned long)__va(start_phys),
		(unsigned long)__va(end_phys)));

		prev_reg = reg;
	}
}
#endif

/*
 * mem_init() marks the free areas in the mem_map and tells us how much
 * memory is free.  This is done after various parts of the system have
@@ -488,6 +538,52 @@ void __init mem_init(void)

	mem_init_print_info(NULL);

	pr_notice("Virtual kernel memory layout:\n"
			"    vector  : 0x%08lx - 0x%08lx   (%4ld kB)\n"
#ifdef CONFIG_HAVE_TCM
			"    DTCM    : 0x%08lx - 0x%08lx   (%4ld kB)\n"
			"    ITCM    : 0x%08lx - 0x%08lx   (%4ld kB)\n"
#endif
			"    fixmap  : 0x%08lx - 0x%08lx   (%4ld kB)\n",
			MLK(VECTORS_BASE, VECTORS_BASE + PAGE_SIZE),
#ifdef CONFIG_HAVE_TCM
			MLK(DTCM_OFFSET, (unsigned long) dtcm_end),
			MLK(ITCM_OFFSET, (unsigned long) itcm_end),
#endif
			MLK(FIXADDR_START, FIXADDR_END));
#ifdef CONFIG_ENABLE_VMALLOC_SAVING
	print_vmalloc_lowmem_info();
#else
	pr_notice(
		   "    vmalloc : 0x%08lx - 0x%08lx   (%4ld MB)\n"
		   "    lowmem  : 0x%08lx - 0x%08lx   (%4ld MB)\n",
			MLM(VMALLOC_START, VMALLOC_END),
			MLM(PAGE_OFFSET, (unsigned long)high_memory));
#endif
	pr_notice(
#ifdef CONFIG_HIGHMEM
		   "    pkmap   : 0x%08lx - 0x%08lx   (%4ld MB)\n"
#endif
#ifdef CONFIG_MODULES
		   "    modules : 0x%08lx - 0x%08lx   (%4ld MB)\n"
#endif
		   "      .text : 0x%pK - 0x%pK   (%4d kB)\n"
		   "      .init : 0x%pK - 0x%pK   (%4d kB)\n"
		   "      .data : 0x%pK - 0x%pK   (%4d kB)\n"
		   "       .bss : 0x%pK - 0x%pK   (%4d kB)\n",
#ifdef CONFIG_HIGHMEM
			MLM(PKMAP_BASE, (PKMAP_BASE) + (LAST_PKMAP) *
				(PAGE_SIZE)),
#endif
#ifdef CONFIG_MODULES
			MLM(MODULES_VADDR, MODULES_END),
#endif

			MLK_ROUNDUP(_text, _etext),
			MLK_ROUNDUP(__init_begin, __init_end),
			MLK_ROUNDUP(_sdata, _edata),
			MLK_ROUNDUP(__bss_start, __bss_stop));

	/*
	 * Check boundaries twice: Some fundamental inconsistencies can
	 * be detected at build time already.
@@ -503,6 +599,10 @@ void __init mem_init(void)
#endif
}

#undef MLK
#undef MLM
#undef MLK_ROUNDUP

#ifdef CONFIG_STRICT_KERNEL_RWX
struct section_perm {
	const char *name;
+5 −0
Original line number Diff line number Diff line
@@ -534,6 +534,11 @@ static inline unsigned long memblock_region_reserved_end_pfn(const struct memblo
	for (i = 0, rgn = &memblock_type->regions[0];			\
	     i < memblock_type->cnt;					\
	     i++, rgn = &memblock_type->regions[i])
#define for_each_memblock_rev(memblock_type, region)	\
	for (region = memblock.memblock_type.regions + \
			memblock.memblock_type.cnt - 1;	\
	     region >= memblock.memblock_type.regions;	\
	     region--)

extern void *alloc_large_system_hash(const char *tablename,
				     unsigned long bucketsize,