!C99Shell v. 1.0 pre-release build #13!

Software: Apache/2.0.54 (Unix) mod_perl/1.99_09 Perl/v5.8.0 mod_ssl/2.0.54 OpenSSL/0.9.7l DAV/2 FrontPage/5.0.2.2635 PHP/4.4.0 mod_gzip/2.0.26.1a 

uname -a: Linux snow.he.net 4.4.276-v2-mono-1 #1 SMP Wed Jul 21 11:21:17 PDT 2021 i686 

uid=99(nobody) gid=98(nobody) groups=98(nobody) 

Safe-mode: OFF (not secure)

/usr/src/linux-2.4.18-xfs-1.1/include/asm-arm/arch-sa1100/   drwxr-xr-x
Free 318.37 GB of 458.09 GB (69.5%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     time.h (2.71 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
/*
 * linux/include/asm-arm/arch-sa1100/time.h
 *
 * Copyright (C) 1998 Deborah Wallach.
 * Twiddles  (C) 1999     Hugo Fiennes <hugo@empeg.com>
 * 
 * 2000/03/29 (C) Nicolas Pitre <nico@cam.org>
 *    Rewritten: big cleanup, much simpler, better HZ accuracy.
 *
 */


#define RTC_DEF_DIVIDER        32768 - 1
#define RTC_DEF_TRIM            0

static unsigned long __init sa1100_get_rtc_time(void)
{
    /*
     * According to the manual we should be able to let RTTR be zero
     * and then a default diviser for a 32.768KHz clock is used.
     * Apparently this doesn't work, at least for my SA1110 rev 5.
     * If the clock divider is uninitialized then reset it to the
     * default value to get the 1Hz clock.
     */
    if (RTTR == 0) {
        RTTR = RTC_DEF_DIVIDER + (RTC_DEF_TRIM << 16);
        printk(KERN_WARNING "Warning: uninitialized Real Time Clock\n");
        /* The current RTC value probably doesn't make sense either */
        RCNR = 0;
        return 0;
    }
    return RCNR;
}

static int sa1100_set_rtc(void)
{
    unsigned long current_time = xtime.tv_sec;

    if (RTSR & RTSR_ALE) {
        /* make sure not to forward the clock over an alarm */
        unsigned long alarm = RTAR;
        if (current_time >= alarm && alarm >= RCNR)
            return -ERESTARTSYS;
    }
    RCNR = current_time;
    return 0;
}

/* IRQs are disabled before entering here from do_gettimeofday() */
static unsigned long sa1100_gettimeoffset (void)
{
    unsigned long ticks_to_match, elapsed, usec;

    /* Get ticks before next timer match */
    ticks_to_match = OSMR0 - OSCR;

    /* We need elapsed ticks since last match */
    elapsed = LATCH - ticks_to_match;

    /* Now convert them to usec */
    usec = (unsigned long)(elapsed*tick)/LATCH;

    return usec;
}

static void sa1100_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs)
{
    long flags;
    int next_match;

    /* Loop until we get ahead of the free running timer.
     * This ensures an exact clock tick count and time acuracy.
     * IRQs are disabled inside the loop to ensure coherence between
     * lost_ticks (updated in do_timer()) and the match reg value, so we
     * can use do_gettimeofday() from interrupt handlers.
     */
    do {
        do_leds();
        do_set_rtc();
        save_flags_cli( flags );
        do_timer(regs);
        OSSR = OSSR_M0;  /* Clear match on timer 0 */
        next_match = (OSMR0 += LATCH);
        restore_flags( flags );
    } while( (signed long)(next_match - OSCR) <= 0 );
}

static inline void setup_timer (void)
{
    gettimeoffset = sa1100_gettimeoffset;
    set_rtc = sa1100_set_rtc;
    xtime.tv_sec = sa1100_get_rtc_time();
    timer_irq.handler = sa1100_timer_interrupt;
    OSMR0 = 0;        /* set initial match at 0 */
    OSSR = 0xf;        /* clear status on all timers */
    setup_arm_irq(IRQ_OST0, &timer_irq);
    OIER |= OIER_E0;    /* enable match on timer 0 to cause interrupts */
    OSCR = 0;        /* initialize free-running timer, force first match */
}


:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 1.0 pre-release build #13 powered by Captain Crunch Security Team | http://ccteam.ru | Generation time: 0.0158 ]--