Sergei Shtylyov wrote:
> Hello.
>
> Marc St-Jean wrote:
>
> > [PATCH 2/5] mips: PMC MSP71xx mips common
>
> > Patch to add mips common support for the PMC-Sierra
> > MSP71xx devices.
>
> > These 5 patches along with the previously posted serial patch
> > will boot the PMC-Sierra MSP7120 Residential Gateway board.
>
> > Signed-off-by: Marc St-Jean <Marc_St-Jean@pmc-sierra.com>
>
> > diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
> > index 5da6b0d..d512389 100644
> > --- a/arch/mips/Kconfig
> > +++ b/arch/mips/Kconfig
> [...]
>
> > +menu "Options for PMC-Sierra MSP chipsets"
> > + depends on PMC_MSP
> > +
> > +config PMC_MSP_EMBEDDED_ROOTFS
> > + bool "Root filesystem embedded in kernel image"
> > + select MTD
> > + select MTD_BLOCK
> > + select MTD_PMC_MSP_RAMROOT
> > + select MTD_RAM
> > +
>
> Hm, why not just use initramfs?
I investigated this as part of an earlier thread. Initramfs
is not a read-only "ROM" fs but a compressed writable fs.
Once expanded it will take more memory.
To lower memory usage for embedded usage of our devices we've
added a method to embedded cramfs/squashfs file systems into
the kernel image.
I've made sure it was unobtrusive and that no linker script
changes, etc. were required.
> > +config PMC_MSP_UNCACHED
> > + bool "Run uncached"
> > + select MIPS_UNCACHED
> > +
> > +endmenu
> > +
>
> Erm, was there really a need for separate option?
Are you aware of an existing option to accomplish the same
results? I have not found it.
> > diff --git a/arch/mips/kernel/traps.c b/arch/mips/kernel/traps.c
> > index 18f56a9..610e169 100644
> > --- a/arch/mips/kernel/traps.c
> > +++ b/arch/mips/kernel/traps.c
> > @@ -70,6 +70,7 @@ extern asmlinkage void handle_reserved(void);
> > extern int fpu_emulator_cop1Handler(struct pt_regs *xcp,
> > struct mips_fpu_struct *ctx, int has_fpu);
> >
> > +void (*board_watchpoint_handler)(struct pt_regs *regs);
> > void (*board_be_init)(void);
> > int (*board_be_handler)(struct pt_regs *regs, int is_fixup);
> > void (*board_nmi_handler_setup)(void);
> > @@ -860,13 +861,17 @@ asmlinkage void do_mdmx(struct pt_regs *regs)
> >
> > asmlinkage void do_watch(struct pt_regs *regs)
> > {
> > - /*
> > - * We use the watch exception where available to detect stack
> > - * overflows.
> > - */
> > - dump_tlb_all();
> > - show_regs(regs);
> > - panic("Caught WATCH exception - probably caused by stack
> overflow.");
> > + if (board_watchpoint_handler) {
> > + (*board_watchpoint_handler)(regs);
> > + } else {
> > + /*
> > + * We use the watch exception where available to detect
> stack
> > + * overflows.
> > + */
> > + dump_tlb_all();
> > + show_regs(regs);
> > + panic("Caught WATCH exception - probably caused by
> stack overflow.");
> > + }
> > }
>
> There was no real need for else and massive change, just add return
> right
> after calling the handler...
Thanks, will do for the next submission.
Marc
|