[PATCH v3 07/31] arm64: Process management

Arnd Bergmann arnd at arndb.de
Fri Sep 7 15:20:16 EDT 2012


On Friday 07 September 2012, Catalin Marinas wrote:
> The patch adds support for thread creation and context switching. The
> context switching CPU specific code is introduced with the CPU support
> patch (part of the arch/arm64/mm/proc.S file). AArch64 supports
> ASID-tagged TLBs and the ASID can be either 8 or 16-bit wide (detectable
> via the ID_AA64AFR0_EL1 register).
> 
> Signed-off-by: Will Deacon <will.deacon at arm.com>
> Signed-off-by: Catalin Marinas <catalin.marinas at arm.com>
> Acked-by: Tony Lindgren <tony at atomide.com>

Acked-by: Arnd Bergmann <arnd at arndb.de>


But please fix a few small issues in process.c:

> diff --git a/arch/arm64/kernel/process.c b/arch/arm64/kernel/process.c
> new file mode 100644
> index 0000000..6dfd96f
> --- /dev/null
> +++ b/arch/arm64/kernel/process.c

> +
> +extern void setup_mm_for_reboot(void);

No extern declarations in .c files, put it in a header file instead.


> +
> +/*
> + * Function pointers to optional machine specific functions
> + */
> +void (*pm_power_off)(void);
> +EXPORT_SYMBOL(pm_power_off);
> +
> +void (*pm_restart)(const char *cmd);
> +EXPORT_SYMBOL_GPL(pm_restart);
> +
>
> +void (*pm_idle)(void) = default_idle;
> +EXPORT_SYMBOL(pm_idle);

I'd make them all EXPORT_SYMBOL_GPL. External modules have no business overriding them.

> +	/*
> +	 * Whoops - the architecture was unable to reboot.
> +	 * Tell the user!
> +	 */
> +	mdelay(1000);
> +	printk("Reboot failed -- System halted\n");
> +	while (1);

This delay seems pointless.


	Arnd



More information about the linux-arm-kernel mailing list