From: NIIBE Y. <gn...@m1...> - 2002-05-28 02:18:29
|
Paul Mundt wrote: > diff -x CVS -urN linux-sh-head.orig/arch/sh/kernel/ubc.S linux-sh-head/arch= > /sh/kernel/ubc.S > --- linux-sh-head.orig/arch/sh/kernel/ubc.S Wed Dec 31 19:00:00 1969 > +++ linux-sh-head/arch/sh/kernel/ubc.S Thu May 23 11:59:33 2002 > @@ -0,0 +1,53 @@ > +/* > + * arch/sh/kernel/ubc.S > + * > + * Set of management routines for the User Break Controller (UBC) > + * > + * Copyright (C) 2002 Paul Mundt > + * > + * This program is free software; you can redistribute it and/or modify it > + * under the terms of the GNU General Public License as published by the > + * Free Software Foundation; either version 2 of the License, or (at your > + * option) any later version. > + */ > +#include <linux/linkage.h> > +#include <asm/ubc.h> > + > +#define STBCR2 0xffc00010 > + > +ENTRY(ubc_sleep) > + mov #0, r0 > + > + mov.l 1f, r1 ! Zero out UBC_BBRA .. > + mov.w r0, @r1 > + > + mov.l 2f, r1 ! .. same for BBRB .. > + mov.w r0, @r1 > + > + mov.l 3f, r1 ! .. and again for BRCR. > + mov.w r0, @r1 > + > + mov.w @r1, r0 ! Dummy read BRCR > + > + mov.l 4f, r1 ! Set MSTP5 in STBCR2 > + mov.b @r1, r0 > + or #0x01, r0 > + mov.b r0, @r1 > + > + mov.b @r1, r0 ! Two dummy reads .. > + mov.b @r1, r0 we should have "rts" + "nop" here. > + > +ENTRY(ubc_wakeup) > + mov.l 4f, r1 ! Clear MSTP5 > + mov.b @r1, r0 > + and #0xfe, r0 > + mov.b r0, @r1 > + > + mov.b @r1, r0 ! Two more dummy reads .. > + mov.b @r1, r0 We should have "rts" + "nop" here. > + > +1: .long UBC_BBRA > +2: .long UBC_BBRB > +3: .long UBC_BRCR > +4: .long STBCR2 |