Fork us on GitHub Follow us on Facebook Follow us on Twitter

Changeset 2fa10f6 in mainline


Ignore:
Timestamp:
2010-09-11T22:28:59Z (12 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial
Children:
5203efb1
Parents:
7431b665
Message:

Remove syscall for controlling preemption.

Files:
9 edited

Legend:

Unmodified
Added
Removed
  • kernel/generic/include/ddi/ddi.h

    r7431b665 r2fa10f6  
    5454extern unative_t sys_physmem_map(unative_t, unative_t, unative_t, unative_t);
    5555extern unative_t sys_iospace_enable(ddi_ioarg_t *);
    56 extern unative_t sys_preempt_control(int);
    5756
    5857/*
  • kernel/generic/include/security/cap.h

    r7431b665 r2fa10f6  
    7070
    7171/**
    72  * CAP_PREEMPT_CONTROL allows its holder to disable/enable preemption.
    73  */
    74 #define CAP_PREEMPT_CONTROL     (1<<3)
    75 
    76 /**
    7772 * CAP_IRQ_REG entitles its holder to register IRQ handlers.
    7873 */
    79 #define CAP_IRQ_REG             (1<<4)
     74#define CAP_IRQ_REG             (1<<3)
    8075
    8176typedef uint32_t cap_t;
  • kernel/generic/include/syscall/syscall.h

    r7431b665 r2fa10f6  
    8080        SYS_PHYSMEM_MAP,
    8181        SYS_IOSPACE_ENABLE,
    82         SYS_PREEMPT_CONTROL,
    8382       
    8483        SYS_SYSINFO_GET_TAG,
  • kernel/generic/src/ddi/ddi.c

    r7431b665 r2fa10f6  
    258258}
    259259
    260 /** Disable or enable preemption.
    261  *
    262  * @param enable If non-zero, the preemption counter will be decremented,
    263  *               leading to potential enabling of preemption. Otherwise
    264  *               the preemption counter will be incremented, preventing
    265  *               preemption from occurring.
    266  *
    267  * @return Zero on success or EPERM if callers capabilities are not sufficient.
    268  *
    269  */
    270 unative_t sys_preempt_control(int enable)
    271 {
    272         if (!(cap_get(TASK) & CAP_PREEMPT_CONTROL))
    273                 return EPERM;
    274        
    275         if (enable)
    276                 preemption_enable();
    277         else
    278                 preemption_disable();
    279        
    280         return 0;
    281 }
    282 
    283260/** @}
    284261 */
  • kernel/generic/src/main/kinit.c

    r7431b665 r2fa10f6  
    208208                         */
    209209                        cap_set(programs[i].task, CAP_CAP | CAP_MEM_MANAGER |
    210                             CAP_IO_MANAGER | CAP_PREEMPT_CONTROL | CAP_IRQ_REG);
     210                            CAP_IO_MANAGER | CAP_IRQ_REG);
    211211                       
    212212                        if (!ipc_phone_0)
  • kernel/generic/src/syscall/syscall.c

    r7431b665 r2fa10f6  
    159159        (syshandler_t) sys_physmem_map,
    160160        (syshandler_t) sys_iospace_enable,
    161         (syshandler_t) sys_preempt_control,
    162161       
    163162        /* Sysinfo syscalls */
  • uspace/app/trace/syscalls.c

    r7431b665 r2fa10f6  
    7373    [SYS_PHYSMEM_MAP] = { "physmem_map",                4,      V_ERRNO },
    7474    [SYS_IOSPACE_ENABLE] = { "iospace_enable",          1,      V_ERRNO },
    75     [SYS_PREEMPT_CONTROL] = { "preempt_control",        1,      V_ERRNO },
    7675
    7776    [SYS_SYSINFO_GET_TAG] = { "sysinfo_get_tag",                2,      V_INTEGER },
  • uspace/lib/c/generic/ddi.c

    r7431b665 r2fa10f6  
    9696}
    9797
    98 /** Interrupt control
    99  *
    100  * @param enable        1 - enable interrupts, 0 - disable interrupts
    101  */
    102 int preemption_control(int enable)
    103 {
    104         return __SYSCALL1(SYS_PREEMPT_CONTROL, (sysarg_t) enable);
    105 }
    106 
    10798/** Enable PIO for specified I/O range.
    10899 *
  • uspace/lib/c/include/ddi.h

    r7431b665 r2fa10f6  
    4141extern int physmem_map(void *, void *, unsigned long, int);
    4242extern int iospace_enable(task_id_t, void *, unsigned long);
    43 extern int preemption_control(int);
    4443extern int pio_enable(void *, size_t, void **);
    4544
Note: See TracChangeset for help on using the changeset viewer.