Re: [PATCH 2/5] mips: PMC MSP71xx mips common

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




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@xxxxxxxxxxxxxx>
> 
>  > 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


[Index of Archives]     [Linux MIPS Home]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Linux]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux