Subversion Repositories HelenOS

Rev

Rev 4342 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 4342 Rev 4345
Line 56... Line 56...
56
   
56
   
57
    waitq_sleep(&can_start);
57
    waitq_sleep(&can_start);
58
 
58
 
59
    for (i = 0; i < ATTEMPTS; i++) {
59
    for (i = 0; i < ATTEMPTS; i++) {
60
        asm volatile (
60
        asm volatile (
61
            "movlpd %0, %%xmm2\n"
61
            "movlpd %[arg], %%xmm2\n"
62
            : "=m" (arg)
62
            : [arg] "=m" (arg)
63
        );
63
        );
64
 
64
 
65
        delay(DELAY);
65
        delay(DELAY);
66
        asm volatile (
66
        asm volatile (
67
            "movlpd %%xmm2, %0\n"
67
            "movlpd %%xmm2, %[after_arg]\n"
68
            : "=m" (after_arg)
68
            : [after_arg] "=m" (after_arg)
69
        );
69
        );
70
       
70
       
71
        if (arg != after_arg) {
71
        if (arg != after_arg) {
72
            if (!sh_quiet)
72
            if (!sh_quiet)
73
                printf("tid%" PRIu64 ": arg(%d) != %d\n", THREAD->tid, arg, after_arg);
73
                printf("tid%" PRIu64 ": arg(%d) != %d\n", THREAD->tid, arg, after_arg);
Line 88... Line 88...
88
   
88
   
89
    waitq_sleep(&can_start);
89
    waitq_sleep(&can_start);
90
 
90
 
91
    for (i = 0; i < ATTEMPTS; i++) {
91
    for (i = 0; i < ATTEMPTS; i++) {
92
        asm volatile (
92
        asm volatile (
93
            "movlpd %0, %%xmm2\n"
93
            "movlpd %[arg], %%xmm2\n"
94
            : "=m" (arg)
94
            : [arg] "=m" (arg)
95
        );
95
        );
96
 
96
 
97
        scheduler();
97
        scheduler();
98
        asm volatile (
98
        asm volatile (
99
            "movlpd %%xmm2, %0\n"
99
            "movlpd %%xmm2, %[after_arg]\n"
100
            : "=m" (after_arg)
100
            : [after_arg] "=m" (after_arg)
101
        );
101
        );
102
       
102
       
103
        if (arg != after_arg) {
103
        if (arg != after_arg) {
104
            if (!sh_quiet)
104
            if (!sh_quiet)
105
                printf("tid%" PRIu64 ": arg(%d) != %d\n", THREAD->tid, arg, after_arg);
105
                printf("tid%" PRIu64 ": arg(%d) != %d\n", THREAD->tid, arg, after_arg);