!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/arch/sh/kernel/   drwxr-xr-x
Free 318.36 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:     irq_imask.c (2.46 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
/* $Id: irq_imask.c,v 1.13 2001/07/12 08:13:56 gniibe Exp $
 *
 * linux/arch/sh/kernel/irq_imask.c
 *
 * Copyright (C) 1999, 2000  Niibe Yutaka
 *
 * Simple interrupt handling using IMASK of SR register.
 *
 */

/* NOTE: Will not work on level 15 */


#include <linux/ptrace.h>
#include <linux/errno.h>
#include <linux/kernel_stat.h>
#include <linux/signal.h>
#include <linux/sched.h>
#include <linux/interrupt.h>
#include <linux/init.h>

#include <asm/system.h>
#include <asm/irq.h>
#include <asm/bitops.h>

#include <linux/spinlock.h>
#include <linux/cache.h>
#include <linux/irq.h>

/* Bitmap of IRQ masked */
static unsigned long imask_mask = 0x7fff;
static int interrupt_priority = 0;

static void enable_imask_irq(unsigned int irq);
static void disable_imask_irq(unsigned int irq);
static void shutdown_imask_irq(unsigned int irq);
static void mask_and_ack_imask(unsigned int);
static void end_imask_irq(unsigned int irq);

#define IMASK_PRIORITY    15

static unsigned int startup_imask_irq(unsigned int irq)

    /* Nothing to do */
    return 0; /* never anything pending */
}

static struct hw_interrupt_type imask_irq_type = {
    "SR.IMASK",
    startup_imask_irq,
    shutdown_imask_irq,
    enable_imask_irq,
    disable_imask_irq,
    mask_and_ack_imask,
    end_imask_irq
};

void static inline set_interrupt_registers(int ip)
{
    unsigned long __dummy;

    asm volatile("ldc    %2, r6_bank\n\t"
             "stc    sr, %0\n\t"
             "and    #0xf0, %0\n\t"
             "shlr2    %0\n\t"
             "cmp/eq    #0x3c, %0\n\t"
             "bt/s    1f    ! CLI-ed\n\t"
             " stc    sr, %0\n\t"
             "and    %1, %0\n\t"
             "or    %2, %0\n\t"
             "ldc    %0, sr\n"
             "1:"
             : "=&z" (__dummy)
             : "r" (~0xf0), "r" (ip << 4)
             : "t");
}

static void disable_imask_irq(unsigned int irq)
{
    clear_bit(irq, &imask_mask);
    if (interrupt_priority < IMASK_PRIORITY - irq)
        interrupt_priority = IMASK_PRIORITY - irq;

    set_interrupt_registers(interrupt_priority);
}

static void enable_imask_irq(unsigned int irq)
{
    set_bit(irq, &imask_mask);
    interrupt_priority = IMASK_PRIORITY - ffz(imask_mask);

    set_interrupt_registers(interrupt_priority);
}

static void mask_and_ack_imask(unsigned int irq)
{
    disable_imask_irq(irq);
}

static void end_imask_irq(unsigned int irq)
{
    if (!(irq_desc[irq].status & (IRQ_DISABLED|IRQ_INPROGRESS)))
        enable_imask_irq(irq);
}

static void shutdown_imask_irq(unsigned int irq)
{
    /* Nothing to do */
}

void make_imask_irq(unsigned int irq)
{
    disable_irq_nosync(irq);
    irq_desc[irq].handler = &imask_irq_type;
    enable_irq(irq);
}

:: 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.0193 ]--