Rev 3386 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 3386 | Rev 4153 | ||
---|---|---|---|
Line 80... | Line 80... | ||
80 | */ |
80 | */ |
81 | static void arch_cpu_identify(cpu_arch_t *cpu) |
81 | static void arch_cpu_identify(cpu_arch_t *cpu) |
82 | { |
82 | { |
83 | uint32_t ident; |
83 | uint32_t ident; |
84 | asm volatile ( |
84 | asm volatile ( |
85 | "mrc p15, 0, %0, c0, c0, 0\n" |
85 | "mrc p15, 0, %[ident], c0, c0, 0\n" |
86 | : "=r" (ident) |
86 | : [ident] "=r" (ident) |
87 | ); |
87 | ); |
88 | 88 | ||
89 | cpu->imp_num = ident >> 24; |
89 | cpu->imp_num = ident >> 24; |
90 | cpu->variant_num = (ident << 8) >> 28; |
90 | cpu->variant_num = (ident << 8) >> 28; |
91 | cpu->arch_num = (ident << 12) >> 28; |
91 | cpu->arch_num = (ident << 12) >> 28; |