Changeset 7f341820 in mainline for kernel/arch/mips32/src


Ignore:
Timestamp:
2009-02-17T14:09:31Z (16 years ago)
Author:
Martin Decky <martin@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
30e2bba
Parents:
85156d3
Message:

mips32: basic SMP support

Location:
kernel/arch/mips32/src
Files:
1 added
1 deleted
5 edited
1 moved

Legend:

Unmodified
Added
Removed
  • kernel/arch/mips32/src/asm.S

    r85156d3 r7f341820  
    2828
    2929#include <arch/asm/regname.h>
    30        
     30
    3131.text
    3232
     
    4646.set noreorder
    4747.set nomacro
     48
     49.global asm_delay_loop
     50asm_delay_loop:
     51        j $31
     52        nop
    4853
    4954.global cpu_halt
  • kernel/arch/mips32/src/debugger.c

    r85156d3 r7f341820  
    163163                if (breakpoints[i].address == (uintptr_t)argv->intval) {
    164164                        printf("Duplicate breakpoint %d.\n", i);
    165                         spinlock_unlock(&bkpoints_lock);
     165                        spinlock_unlock(&bkpoint_lock);
    166166                        return 0;
    167167                } else if (breakpoints[i].address == (uintptr_t)argv->intval +
     
    170170                        printf("Adjacent breakpoints not supported, conflict "
    171171                            "with %d.\n", i);
    172                         spinlock_unlock(&bkpoints_lock);
     172                        spinlock_unlock(&bkpoint_lock);
    173173                        return 0;
    174174                }
    175                        
     175               
    176176        }
    177177
  • kernel/arch/mips32/src/interrupt.c

    r85156d3 r7f341820  
    4242#include <ddi/device.h>
    4343
    44 #define IRQ_COUNT 8
    45 #define TIMER_IRQ 7
     44#define IRQ_COUNT   8
     45#define TIMER_IRQ   7
     46#define DORDER_IRQ  5
    4647
    4748function virtual_timer_fnc = NULL;
  • kernel/arch/mips32/src/mips32.c

    r85156d3 r7f341820  
    167167}
    168168
     169void calibrate_delay_loop(void)
     170{
     171}
     172
    169173void userspace(uspace_arg_t *kernel_uarg)
    170174{
  • kernel/arch/mips32/src/mm/tlb.c

    r85156d3 r7f341820  
    2727 */
    2828
    29 /** @addtogroup mips32mm       
     29/** @addtogroup mips32mm
    3030 * @{
    3131 */
     
    4242#include <arch.h>
    4343#include <symtab.h>
    44 #include <synch/spinlock.h>
     44#include <synch/mutex.h>
    4545#include <print.h>
    4646#include <debug.h>
     
    9393        pte_t *pte;
    9494        int pfrc;
    95 
     95       
    9696        badvaddr = cp0_badvaddr_read();
    97 
    98         spinlock_lock(&AS->lock);
     97       
     98        mutex_lock(&AS->lock);
    9999        asid = AS->asid;
    100         spinlock_unlock(&AS->lock);
    101 
     100        mutex_unlock(&AS->lock);
     101       
    102102        page_table_lock(AS, true);
    103 
     103       
    104104        pte = find_mapping_and_check(badvaddr, PF_ACCESS_READ, istate, &pfrc);
    105105        if (!pte) {
  • kernel/arch/mips32/src/smp/dorder.c

    r85156d3 r7f341820  
    2727 */
    2828
    29 /** @addtogroup mips32 
     29/** @addtogroup mips32
    3030 * @{
    3131 */
     
    3333 */
    3434
    35 #include <arch/smp/order.h>
     35#include <arch/smp/dorder.h>
    3636
    37 #define MSIM_ORDER_ADDRESS      0xB0000004
     37#define MSIM_DORDER_ADDRESS  0xB0000004
    3838
    3939void ipi_broadcast_arch(int ipi)
    4040{
    41         *((volatile unsigned int *) MSIM_ORDER_ADDRESS) = 0x7FFFFFFF;
     41#ifdef CONFIG_SMP
     42        *((volatile unsigned int *) MSIM_DORDER_ADDRESS) = 0x7FFFFFFF;
     43#endif
    4244}
    4345
Note: See TracChangeset for help on using the changeset viewer.