Changeset 59e4864 in mainline for kernel/arch/ia64/include


Ignore:
Timestamp:
2008-11-11T08:00:42Z (17 years ago)
Author:
Jakub Vana <jakub.vana@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
f3c4a26
Parents:
a2a5529
Message:

Alfa of SMP support on IA64

Location:
kernel/arch/ia64/include
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • kernel/arch/ia64/include/atomic.h

    ra2a5529 r59e4864  
    5252}
    5353
     54
     55static inline uint64_t test_and_set(atomic_t *val) {
     56        uint64_t v;
     57               
     58        asm volatile (
     59                "movl %0=0x01;;\n"
     60                "xchg8 %0=%1,%0;;\n"
     61                : "=r" (v),"+m" (val->count)
     62        );
     63       
     64        return v;
     65}
     66
     67
    5468static inline void atomic_inc(atomic_t *val) { atomic_add(val, 1); }
    5569static inline void atomic_dec(atomic_t *val) { atomic_add(val, -1); }
  • kernel/arch/ia64/include/bootinfo.h

    ra2a5529 r59e4864  
    3030#define KERN_ia64_BOOTINFO_H_
    3131
    32 
     32#define BOOTINFO_ADDRESS 0x4401000
    3333
    3434#define CONFIG_INIT_TASKS       32
     
    4747typedef struct {
    4848        binit_t taskmap;
     49
     50        unsigned long * sapic;
     51        unsigned int wakeup_intno;
     52
    4953} bootinfo_t;
    5054
  • kernel/arch/ia64/include/cpu.h

    ra2a5529 r59e4864  
    3939#include <arch/register.h>
    4040#include <arch/asm.h>
     41#include <arch/bootinfo.h>
    4142
    4243#define FAMILY_ITANIUM  0x7
     
    6465}
    6566
     67
     68#define CR64_ID_SHIFT 24
     69#define CR64_ID_MASK 0xff000000
     70#define CR64_EID_SHIFT 16
     71#define CR64_EID_MASK 0xff0000
     72
     73static inline int ia64_get_cpu_id(void)
     74{
     75        uint64_t cr64=cr64_read();
     76        return ((CR64_ID_MASK)&cr64)>>CR64_ID_SHIFT;
     77}
     78
     79static inline int ia64_get_cpu_eid(void)
     80{
     81        uint64_t cr64=cr64_read();
     82        return ((CR64_EID_MASK)&cr64)>>CR64_EID_SHIFT;
     83}
     84
     85
     86
     87static inline void ipi_send_ipi(int id,int eid,int intno)
     88{
     89        (bootinfo->sapic)[2*(id*256+eid)]=intno;
     90}
     91
     92
     93
    6694#endif
    6795
  • kernel/arch/ia64/include/mm/page.h

    ra2a5529 r59e4864  
    4747#define KERNEL_PAGE_WIDTH               28      /* 256M */
    4848#define IO_PAGE_WIDTH                   26      /* 64M */
     49#define FW_PAGE_WIDTH                   28      /* 256M */
     50
     51/** Staticly mapped IO spaces */
     52
     53/* Firmware area (bellow 4GB in phys mem) */
     54#define FW_OFFSET             0x00000000F0000000
     55/* Legacy IO space */
     56#define IO_OFFSET             0x0001000000000000
     57/* Videoram - now mapped to 0 as VGA text mode vram on 0xb8000*/
     58#define VIO_OFFSET            0x0002000000000000
     59
     60
    4961
    5062
Note: See TracChangeset for help on using the changeset viewer.