arch/sh/boards/mach-ecovec24/setup.c

Source file repositories/reference/linux-study-clean/arch/sh/boards/mach-ecovec24/setup.c

File Facts

System
Linux kernel
Corpus path
arch/sh/boards/mach-ecovec24/setup.c
Extension
.c
Size
37301 bytes
Lines
1521
Domain
Architecture Layer
Bucket
arch/sh
Inferred role
Architecture Layer: exported/initcall integration point
Status
integration implementation candidate

Why This File Exists

CPU and platform-specific kernel glue: boot entry, traps, syscall entry, interrupts, page tables, context switch, and low-level barriers.

Dependency Surface

Detected Declarations

Annotated Snippet

device_initcall(devices_setup);

/* Reserve a portion of memory for CEU 0 and CEU 1 buffers */
static void __init ecovec_mv_mem_reserve(void)
{
	phys_addr_t phys;
	phys_addr_t size = CEU_BUFFER_MEMORY_SIZE;

	phys = memblock_phys_alloc(size, PAGE_SIZE);
	if (!phys)
		panic("Failed to allocate CEU0 memory\n");

	memblock_phys_free(phys, size);
	memblock_remove(phys, size);
	ceu0_dma_membase = phys;

	phys = memblock_phys_alloc(size, PAGE_SIZE);
	if (!phys)
		panic("Failed to allocate CEU1 memory\n");

	memblock_phys_free(phys, size);
	memblock_remove(phys, size);
	ceu1_dma_membase = phys;
}

static struct sh_machine_vector mv_ecovec __initmv = {
	.mv_name	= "R0P7724 (EcoVec)",
	.mv_mem_reserve	= ecovec_mv_mem_reserve,
};

Annotation

Implementation Notes