consoledevФорум

[KERNEL] - InterruptManagerForKernel

#0
12:05, 12 апр 2006

По ходу всяких близких рассмотрений PSP Internals буду кидать сюда "C" полуфабрикат всяких интересных функций.
(Просьба по возможности не засорять здесь, а типо спрашивать этц, в какой-то другой ветке)

#1
12:12, 12 апр 2006

sceKernelCpuSuspendIntr

unsigned int sceKernelCpuSuspendIntr(void)
{
  unsigned int oldstatus;
  __asm__ volatile (
    "mfic    %0,$0\n"
    "mtic    $0,$0\n"
    "nop\n"
    "nop\n"
    "nop\n"
    "nop\n"
    "nop\n"
    "nop\n"
    "nop\n"
  :"=r"(oldstatus)
    );
  return oldstatus;
}

#2
12:23, 12 апр 2006

sceKernelCpuResumeIntr

void sceKernelCpuResumeIntr(unsigned int status)
{
  __asm__ volatile (
    "mtic    %0,$0\n"
    "nop\n"
    "nop\n"
    "nop\n"
    "nop\n"
    "nop\n"
    "nop\n"
    "nop\n"
    :
    :"r"(status)
    );
}

#3
23:35, 12 апр 2006

sceKernelCpuResumeIntrWithSync

void sceKernelCpuResumeIntrWithSync(unsigned int status)
{
  __asm__ volatile (
    "sync\n"
    "nop\n"
    "sync\n"
    "nop\n"
    "mtic    %0,$0\n"
    "nop\n"
    "nop\n"
    "nop\n"
    "nop\n"
    "nop\n"
    "nop\n"
    "nop\n"
    :
    :"r"(status)
    );
}

#4
23:48, 12 апр 2006

sceKernelCpuEnableIntr

void sceKernelCpuEnableIntr(void)
{
  __asm__ volatile (
    "addiu $2,$0,1\n"
    "mtic  $2,$0\n"
    );
}

consoledevФорум

Тема в архиве.