/[hurd]/hurd-l4/README
ViewVC logotype

Diff of /hurd-l4/README

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.16 by marcus, Sat Jan 22 02:22:09 2005 UTC revision 1.17 by marcus, Mon Jan 31 13:56:43 2005 UTC
# Line 478  diff -rupN pistachio/user/include/l4/ia3 Line 478  diff -rupN pistachio/user/include/l4/ia3
478    
479          : /* outputs */          : /* outputs */
480          "=r"(utcb)          "=r"(utcb)
481    
482    
483    This patch extends the L4 kernel by allowing to set different xfer
484    timeouts for local and remote page faults.
485    
486    2005-01-31  Matthieu Lemerre <racin@free.fr>
487    
488            * kernel/src/api/v4/space.cc (handle_xfer_timeouts): Accept
489            new argument FAULT_IN_SENDER_AS which specifies if the fault happened
490            in the sender's address space.  Adjust the timeouts taking
491            this parameter into account.
492            (space_t::handle_pagefaults): Pass new argument to
493            handle_xfer_timeouts.
494            * kernel/include/api/v4/tcb.h (tcb_t): New accessor function
495            prototypes get_local_xfer_timeout_snd and
496            get_local_xfer_timeout_rcv.
497            (tcb_t::get_local_xfer_timeout_snd, tcb_t::get_local_xfer_timeout_rcv):
498            New inline functions.
499            * kernel/include/glue/v4-alpha/utcb.h (utcb_t): New members
500            thread_word_0, thread_word_1 and local_xfer_timeout.  Adjust
501            padding.
502            * kernel/include/glue/v4/v4-amd64/utcb.h (utcb_t): Likewise.
503            * kernel/include/glue/v4/v4-arm/utcb.h (utcb_t): Likewise.
504            * kernel/include/glue/v4/v4-ia32/utcb.h (utcb_t): Likewise.
505            * kernel/include/glue/v4/v4-ia64/utcb.h (utcb_t): Likewise.
506            * kernel/include/glue/v4/v4-mips64/utcb.h (utcb_t): Likewise.
507            * kernel/include/glue/v4/v4-powerpc/utcb.h (utcb_t): Likewise.
508            * kernel/include/glue/v4/v4-powerpc64/utcb.h (utcb_t): Likewise.
509            * user/include/l4/alpha/vregs.h,
510            user/include/l4/amd64/vregs.h, user/include/l4/arm/vregs.h,
511            user/include/l4/ia32/vregs.h, user/include/l4/ia64/vregs.h,
512            user/include/l4/mips64/vregs.h, user/include/l4/powerpc/vregs.h,
513            user/include/l4/powerpc64/vregs.h: For all these files:
514            (__L4_TCR_LOCAL_XFER_TIMEOUT): Define macro.
515            (__L4_TCR_XferTimeout): Set local transfer timeout as well.
516    
517    diff -rup pistachio/kernel/include/api/v4/tcb.h pistachio-to/kernel/include/api/v4/tcb.h
518    --- pistachio/kernel/include/api/v4/tcb.h       2005-01-22 01:45:47.000000000 +0100
519    +++ pistachio-to/kernel/include/api/v4/tcb.h    2005-01-31 13:56:52.000000000 +0100
520    @@ -130,6 +130,8 @@ public:
521    
522         time_t get_xfer_timeout_snd ();
523         time_t get_xfer_timeout_rcv ();
524    +    time_t get_local_xfer_timeout_snd ();
525    +    time_t get_local_xfer_timeout_rcv ();
526         void set_actual_sender(threadid_t tid);
527         threadid_t get_virtual_sender();
528         threadid_t get_intended_receiver();
529    @@ -588,6 +590,24 @@ INLINE time_t tcb_t::get_xfer_timeout_rc
530         return get_utcb()->xfer_timeout.get_rcv();
531     }
532    
533    +/**
534    + * Get a thread's local send transfer timeout
535    + * @return      local send transfer timeout
536    + */
537    +INLINE time_t tcb_t::get_local_xfer_timeout_snd (void)
538    +{
539    +    return get_utcb()->local_xfer_timeout.get_snd();
540    +}
541    +
542    +/**
543    + * Get a thread's local receive transfer timeout
544    + * @return     local receive transfer timeout
545    + */
546    +INLINE time_t tcb_t::get_local_xfer_timeout_rcv (void)
547    +{
548    +    return get_utcb()->local_xfer_timeout.get_rcv();
549    +}
550    +
551    
552     /**
553      * enqueues the tcb into the send queue of tcb
554    diff -rup pistachio/kernel/include/glue/v4-alpha/utcb.h pistachio-to/kernel/include/glue/v4-alpha/utcb.h
555    --- pistachio/kernel/include/glue/v4-alpha/utcb.h       2003-09-24 21:12:21.000000000 +0200
556    +++ pistachio-to/kernel/include/glue/v4-alpha/utcb.h    2005-01-31 14:15:12.000000000 +0100
557    @@ -54,7 +54,10 @@ public:
558         word_t             error_code;             /* 56 */
559         threadid_t         intended_receiver;      /* 64 */
560         threadid_t         virtual_sender;         /* 72 */
561    -    word_t              __padding0[6];          /* 80 .. 128 */
562    +    word_t             thread_word_0;          /* 80 */
563    +    word_t             thread_word_1;          /* 88 */
564    +    timeout_t          local_xfer_timeout;     /* 96 */
565    +    word_t              __padding0[3];          /* 104 .. 128 */
566         word_t             mr[IPC_NUM_MR];         /* 128 .. 640 */
567         word_t             br[IPC_NUM_BR];         /* 640 .. 904 */
568         word_t              __padding1[15];         /* 904 .. 1024 */
569    diff -rup pistachio/kernel/include/glue/v4-amd64/utcb.h pistachio-to/kernel/include/glue/v4-amd64/utcb.h
570    --- pistachio/kernel/include/glue/v4-amd64/utcb.h       2004-06-02 13:26:42.000000000 +0200
571    +++ pistachio-to/kernel/include/glue/v4-amd64/utcb.h    2005-01-31 14:17:42.000000000 +0100
572    @@ -49,7 +49,10 @@ public:
573         timeout_t           xfer_timeout;           /* - 64           */
574         threadid_t          intended_receiver;      /* - 56           */
575         threadid_t          virtual_sender;         /* - 48           */
576    -    word_t              reserved1[5];           /* - 40 ..  -1    */
577    +    word_t             thread_word_1;          /* - 40           */
578    +    word_t             thread_word_0;          /* - 32           */
579    +    timeout_t          local_xfer_timeout;     /* - 24           */
580    +    word_t              reserved1[2];           /* - 16 ..  -1    */
581         word_t              mr[IPC_NUM_MR];         /*    0 .. 511    */
582        
583         /* do not delete this TCB_END_MARKER */
584    diff -rup pistachio/kernel/include/glue/v4-arm/utcb.h pistachio-to/kernel/include/glue/v4-arm/utcb.h
585    --- pistachio/kernel/include/glue/v4-arm/utcb.h 2004-06-04 04:26:52.000000000 +0200
586    +++ pistachio-to/kernel/include/glue/v4-arm/utcb.h      2005-01-31 14:19:25.000000000 +0100
587    @@ -35,7 +35,7 @@
588     #include INC_API(thread.h)
589     #include INC_API(types.h)
590    
591    -#define PADDING_0       ((64-sizeof(threadid_t)*5-sizeof(word_t)*3-sizeof(timeout_t)-sizeof(u8_t)*2-sizeof(u16_t))/4)
592    +#define PADDING_0       ((64-sizeof(threadid_t)*5-sizeof(word_t)*5-sizeof(timeout_t)*2-sizeof(u8_t)*2-sizeof(u16_t))/4)
593    
594     #define PADDING_1       ((448-sizeof(word_t)*(IPC_NUM_MR+IPC_NUM_BR))/4)
595    
596    @@ -57,7 +57,10 @@ public:
597         word_t             error_code;             /* 28 */
598         threadid_t         intended_receiver;      /* 32 */
599         threadid_t         virtual_sender;         /* 36 */
600    -    word_t              __padding0[PADDING_0];          /* 40 .. 64 */
601    +    word_t             thread_word_0;          /* 40 */
602    +    word_t             thread_word_1;          /* 44 */
603    +    timeout_t          local_xfer_timeout;     /* 48 */
604    +    word_t              __padding0[PADDING_0];          /* 52 .. 64 */
605         word_t             mr[IPC_NUM_MR];         /* 64 .. 320 */
606         word_t             br[IPC_NUM_BR];         /* 320 .. 452 */
607         word_t              __padding1[PADDING_1];         /* 452 .. 512 */
608    diff -rup pistachio/kernel/include/glue/v4-ia32/utcb.h pistachio-to/kernel/include/glue/v4-ia32/utcb.h
609    --- pistachio/kernel/include/glue/v4-ia32/utcb.h        2003-09-24 21:12:22.000000000 +0200
610    +++ pistachio-to/kernel/include/glue/v4-ia32/utcb.h     2005-01-31 14:03:38.000000000 +0100
611    @@ -51,7 +51,10 @@ public:
612         timeout_t          xfer_timeout;           /* -32          */
613         threadid_t         intended_receiver;      /* -28          */
614         threadid_t         virtual_sender;         /* -24          */
615    -    word_t             reserved1[5];           /* -20 .. -4    */
616    +    word_t             thread_word_1;          /* -20          */
617    +    word_t             thread_word_0;          /* -16          */
618    +    timeout_t           local_xfer_timeout;     /* -12          */
619    +    word_t             reserved1[2];           /* -8 .. -4     */
620         word_t             mr[IPC_NUM_MR];         /* 0 .. 252     */
621    
622         /* do not delete this TCB_END_MARKER */
623    diff -rup pistachio/kernel/include/glue/v4-ia64/utcb.h pistachio-to/kernel/include/glue/v4-ia64/utcb.h
624    --- pistachio/kernel/include/glue/v4-ia64/utcb.h        2003-09-24 21:12:23.000000000 +0200
625    +++ pistachio-to/kernel/include/glue/v4-ia64/utcb.h     2005-01-31 14:20:56.000000000 +0100
626    @@ -55,7 +55,10 @@ public:
627         word_t             error_code;             // 72   (9)
628    
629         word_t             br[IPC_NUM_BR];         // 80   (10)
630    -    word_t             __padding1[5];          // 344  (43)
631    +    word_t             thread_word_0;          // 88   (11)
632    +    word_t             thread_word_1;          // 88   (12)
633    +    timeout_t          local_xfer_timeout;     // 96   (13)
634    +    word_t             __padding1[2];          // 368  (46)
635    
636         word_t             mr[IPC_NUM_MR];         // 384  (48)
637         word_t             __padding2[16];         // 896  (112)
638    diff -rup pistachio/kernel/include/glue/v4-mips64/utcb.h pistachio-to/kernel/include/glue/v4-mips64/utcb.h
639    --- pistachio/kernel/include/glue/v4-mips64/utcb.h      2004-10-06 21:13:40.000000000 +0200
640    +++ pistachio-to/kernel/include/glue/v4-mips64/utcb.h   2005-01-31 14:21:56.000000000 +0100
641    @@ -54,7 +54,10 @@ public:
642         word_t             error_code;             /* 56 */
643         threadid_t         intended_receiver;      /* 64 */
644         threadid_t         virtual_sender;         /* 72 */
645    -    word_t              __padding0[6];          /* 80 .. 128 */
646    +    word_t             thread_word_0;          /* 80 */
647    +    word_t             thread_word_1;          /* 88 */
648    +    timeout_t          local_xfer_timeout;     /* 96 */
649    +    word_t              __padding0[3];          /* 104 .. 128 */
650         word_t             mr[IPC_NUM_MR];         /* 128 .. 640 */
651         word_t             br[IPC_NUM_BR];         /* 640 .. 904 */
652         word_t              __padding1[15];         /* 904 .. 1024 */
653    diff -rup pistachio/kernel/include/glue/v4-powerpc/utcb.h pistachio-to/kernel/include/glue/v4-powerpc/utcb.h
654    --- pistachio/kernel/include/glue/v4-powerpc/utcb.h     2003-11-17 12:17:19.000000000 +0100
655    +++ pistachio-to/kernel/include/glue/v4-powerpc/utcb.h  2005-01-31 14:22:40.000000000 +0100
656    @@ -52,7 +52,8 @@ public:
657         threadid_t         virtual_sender;         /* -24          */
658         word_t             thread_word1;           /* -20          */
659         word_t             thread_word0;           /* -16          */
660    -    word_t             reserved1[3];           /* -12 .. -4    */
661    +    timeout_t          local_xfer_timeout;     /* -12          */
662    +    word_t             reserved1[2];           /* -8 .. -4     */
663         word_t             mr[IPC_NUM_MR];         /* 0 .. 252     */
664     } __attribute__((packed));
665    
666    diff -rup pistachio/kernel/include/glue/v4-powerpc64/utcb.h pistachio-to/kernel/include/glue/v4-powerpc64/utcb.h
667    --- pistachio/kernel/include/glue/v4-powerpc64/utcb.h   2004-06-04 04:52:57.000000000 +0200
668    +++ pistachio-to/kernel/include/glue/v4-powerpc64/utcb.h        2005-01-31 14:23:32.000000000 +0100
669    @@ -49,7 +49,10 @@ public:
670         word_t             error_code;             /* 56 */
671         threadid_t         intended_receiver;      /* 64 */
672         threadid_t         virtual_sender;         /* 72 */
673    -    word_t              __padding0[6];          /* 80 .. 128 */
674    +    word_t             thread_word_0;          /* 80 */
675    +    word_t             thread_word_1;          /* 88 */
676    +    timeout_t          local_xfer_timeout;     /* 96 */
677    +    word_t              __padding0[3];          /* 104 .. 128 */
678         word_t             mr[IPC_NUM_MR];         /* 128 .. 640 */
679         word_t             br[IPC_NUM_BR];         /* 640 .. 904 */
680         word_t              __padding1[15];         /* 904 .. 1024 */
681    diff -rup pistachio/kernel/src/api/v4/space.cc pistachio-to/kernel/src/api/v4/space.cc
682    --- pistachio/kernel/src/api/v4/space.cc        2004-10-06 21:13:42.000000000 +0200
683    +++ pistachio-to/kernel/src/api/v4/space.cc     2005-01-31 14:11:48.000000000 +0100
684    @@ -149,8 +149,9 @@ void tunnel_pagefault (word_t addr)
685      * up a timeout for the sender thread.
686      *
687      * @param sender               sender thread
688    + * @param fault_in_sender_as   page fault happened in the space of the sender
689      */
690    -static void handle_xfer_timeouts (tcb_t * sender)
691    +static void handle_xfer_timeouts (tcb_t * sender, bool fault_in_sender_as)
692     {
693     #warning Handle priority inversion for xfer timeouts
694        
695    @@ -163,9 +164,27 @@ static void handle_xfer_timeouts (tcb_t
696         ASSERT (! sender->get_partner ().is_nilthread ());
697         ASSERT (sender->get_state() == thread_state_t::locked_running);
698         ASSERT (partner->get_state() == thread_state_t::locked_waiting);
699    -
700    -    time_t snd_to = sender->get_xfer_timeout_snd ();
701    -    time_t rcv_to = partner->get_xfer_timeout_rcv ();
702    +
703    +    time_t snd_to;
704    +    time_t rcv_to;
705    +    time_t timeout;
706    +
707    +    if (fault_in_sender_as)
708    +      {
709    +         /* The page fault happened in the sender.  So the timeouts
710    +            that matter are the local pf send timeout of the sender
711    +            and the remote pf receive timeout of the partner. */
712    +         snd_to = sender->get_local_xfer_timeout_snd ();
713    +         rcv_to = partner->get_xfer_timeout_rcv ();
714    +      }
715    +    else
716    +      {
717    +         /* The page fault happened in the partner.  So the timeouts
718    +            that matter are the remote pf send timeout of the sender
719    +            and the local pf receive timeout of the partner.  */      
720    +         snd_to = sender->get_xfer_timeout_snd ();
721    +         rcv_to = partner->get_local_xfer_timeout_rcv ();
722    +      }
723    
724         if (snd_to.is_zero () || rcv_to.is_zero ())
725         {
726    @@ -225,7 +244,7 @@ void space_t::handle_pagefault(addr_t ad
727                    // Pagefault during IPC copy.  Initiate xfer timeout
728                    // counters before handling pagefault.
729                    current->misc.ipc_copy.copy_fault = addr;
730    -               handle_xfer_timeouts (current);
731    +               handle_xfer_timeouts (current, true);
732                }
733    
734                // if we have a user fault we may have a stale partner
735    @@ -279,7 +298,7 @@ void space_t::handle_pagefault(addr_t ad
736            {
737                // Fault in copy area.  Tunnel pagefault through partner.
738                current->misc.ipc_copy.copy_fault = addr;
739    -           handle_xfer_timeouts (current);
740    +           handle_xfer_timeouts (current, false);
741    
742                // On PF tunneling we temporarily set the current thread
743                // into waiting for partner.
744    
745    
746    diff -rup pistachio/user/include/l4/alpha/vregs.h pistachio-to/user/include/l4/alpha/vregs.h
747    --- pistachio/user/include/l4/alpha/vregs.h     2004-10-06 21:13:47.000000000 +0200
748    +++ pistachio-to/user/include/l4/alpha/vregs.h  2005-01-31 14:42:41.000000000 +0100
749    @@ -52,6 +52,8 @@ L4_INLINE L4_Word_t *__L4_Alpha_Utcb( vo
750    
751     #define __L4_TCR_BR_OFFSET                     (80)
752     #define __L4_TCR_MR_OFFSET                     (16)
753    +#define __L4_TCR_LOCAL_XFER_TIMEOUT                    (12)
754    +#define __L4_TCR_THREAD_WORD1                  (11)
755     #define __L4_TCR_THREAD_WORD0                  (10)
756     #define __L4_TCR_VIRTUAL_ACTUAL_SENDER         (9)
757     #define __L4_TCR_INTENDED_RECEIVER             (8)
758    @@ -128,6 +130,7 @@ L4_INLINE L4_Word_t __L4_TCR_XferTimeout
759     L4_INLINE void __L4_TCR_Set_XferTimeout( L4_Word_t w )
760     {
761         (__L4_Alpha_Utcb())[ __L4_TCR_XFER_TIMEOUT ] = w;
762    +    (__L4_Alpha_Utcb())[ __L4_TCR_LOCAL_XFER_TIMEOUT ] = w;
763     }
764    
765     L4_INLINE L4_Word_t __L4_TCR_IntendedReceiver( void )
766    diff -rup pistachio/user/include/l4/amd64/vregs.h pistachio-to/user/include/l4/amd64/vregs.h
767    --- pistachio/user/include/l4/amd64/vregs.h     2003-09-24 21:06:22.000000000 +0200
768    +++ pistachio-to/user/include/l4/amd64/vregs.h  2005-01-31 14:43:02.000000000 +0100
769    @@ -65,6 +65,7 @@ L4_INLINE L4_Word_t * __L4_X86_Utcb (voi
770      * Location of TCRs within UTCB. (Counted in word_t)
771      */
772    
773    +#define __L4_TCR_XFER_TIMEOUT                  (-3)
774     #define __L4_TCR_THREAD_WORD_0                 (-4)
775     #define __L4_TCR_THREAD_WORD_1                 (-5)
776     #define __L4_TCR_VIRTUAL_ACTUAL_SENDER         (-6)
777    @@ -144,6 +145,7 @@ L4_INLINE L4_Word_t __L4_TCR_XferTimeout
778     L4_INLINE void __L4_TCR_Set_XferTimeout (L4_Word_t w)
779     {
780         (__L4_X86_Utcb ())[__L4_TCR_XFER_TIMEOUT] = w;
781    +    (__L4_X86_Utcb ())[__L4_TCR_LOCAL_XFER_TIMEOUT] = w;
782     }
783    
784     L4_INLINE L4_Word_t __L4_TCR_IntendedReceiver(void)
785    diff -rup pistachio/user/include/l4/arm/vregs.h pistachio-to/user/include/l4/arm/vregs.h
786    --- pistachio/user/include/l4/arm/vregs.h       2004-06-04 10:20:12.000000000 +0200
787    +++ pistachio-to/user/include/l4/arm/vregs.h    2005-01-31 14:43:59.000000000 +0100
788    @@ -35,6 +35,9 @@ L4_INLINE L4_Word_t *__L4_ARM_Utcb( void
789    
790     #define __L4_TCR_BR_OFFSET                     (80)
791     #define __L4_TCR_MR_OFFSET                     (16)
792    +#define __L4_TCR_XFER_TIMEOUT                  (12)
793    +#define __L4_TCR_THREAD_WORD1                  (11)
794    +#define __L4_TCR_THREAD_WORD0                  (10)
795     #define __L4_TCR_VIRTUAL_ACTUAL_SENDER         (9)
796     #define __L4_TCR_INTENDED_RECEIVER             (8)
797     #define __L4_TCR_ERROR_CODE                    (7)
798    diff -rup pistachio/user/include/l4/ia32/vregs.h pistachio-to/user/include/l4/ia32/vregs.h
799    --- pistachio/user/include/l4/ia32/vregs.h      2004-11-17 01:48:13.000000000 +0100
800    +++ pistachio-to/user/include/l4/ia32/vregs.h   2005-01-31 14:40:47.000000000 +0100
801    @@ -66,6 +66,7 @@ L4_INLINE L4_Word_t * __L4_X86_Utcb (voi
802      * Location of TCRs within UTCB.
803      */
804    
805    +#define __L4_TCR_LOCAL_XFER_TIMEOUT            (-3)
806     #define __L4_TCR_THREAD_WORD_0                 (-4)
807     #define __L4_TCR_THREAD_WORD_1                 (-5)
808     #define __L4_TCR_VIRTUAL_ACTUAL_SENDER         (-6)
809    @@ -145,6 +146,7 @@ L4_INLINE L4_Word_t __L4_TCR_XferTimeout
810     L4_INLINE void __L4_TCR_Set_XferTimeout (L4_Word_t w)
811     {
812         (__L4_X86_Utcb ())[__L4_TCR_XFER_TIMEOUT] = w;
813    +    (__L4_X86_Utcb ())[__L4_TCR_LOCAL_XFER_TIMEOUT] = w;
814     }
815    
816     L4_INLINE L4_Word_t __L4_TCR_IntendedReceiver(void)
817    diff -rup pistachio/user/include/l4/ia64/vregs.h pistachio-to/user/include/l4/ia64/vregs.h
818    --- pistachio/user/include/l4/ia64/vregs.h      2003-09-24 21:13:50.000000000 +0200
819    +++ pistachio-to/user/include/l4/ia64/vregs.h   2005-01-31 14:44:41.000000000 +0100
820    @@ -62,6 +62,7 @@ L4_INLINE L4_Word_t * __L4_IA64_Utcb (vo
821      */
822    
823     #define __L4_TCB_MR_OFFSET                     (48)
824    +#define __L4_TCR_LOCAL_XFER_TIMEOUT            (45)
825     #define __L4_TCR_THREAD_WORD_1                 (44)
826     #define __L4_TCR_THREAD_WORD_0                 (43)
827     #define __L4_TCB_BR_OFFSET                     (10)
828    @@ -154,6 +155,7 @@ L4_INLINE L4_Word_t __L4_TCR_XferTimeout
829     L4_INLINE void __L4_TCR_Set_XferTimeout (L4_Word_t w)
830     {
831         (__L4_IA64_Utcb ())[__L4_TCR_XFER_TIMEOUT] = w;
832    +    (__L4_IA64_Utcb ())[__L4_TCR_LOCAL_XFER_TIMEOUT] = w;
833     }
834    
835     L4_INLINE L4_Word_t __L4_TCR_IntendedReceiver(void)
836    diff -rup pistachio/user/include/l4/mips64/vregs.h pistachio-to/user/include/l4/mips64/vregs.h
837    --- pistachio/user/include/l4/mips64/vregs.h    2004-10-06 21:13:47.000000000 +0200
838    +++ pistachio-to/user/include/l4/mips64/vregs.h 2005-01-31 14:45:34.000000000 +0100
839    @@ -48,6 +48,7 @@ L4_INLINE L4_Word_t *__L4_Mips64_Utcb( v
840    
841     #define __L4_TCR_BR_OFFSET                     (80)
842     #define __L4_TCR_MR_OFFSET                     (16)
843    +#define __L4_TCR_LOCAL_XFER_TIMEOUT            (12)
844     #define __L4_TCR_THREAD_WORD1                  (11)
845     #define __L4_TCR_THREAD_WORD0                  (10)
846     #define __L4_TCR_VIRTUAL_ACTUAL_SENDER         (9)
847    @@ -131,6 +132,7 @@ L4_INLINE L4_Word_t __L4_TCR_XferTimeout
848     L4_INLINE void __L4_TCR_Set_XferTimeout( L4_Word_t w )
849     {
850         (__L4_Mips64_Utcb())[ __L4_TCR_XFER_TIMEOUT ] = w;
851    +    (__L4_Mips64_Utcb())[ __L4_TCR_LOCAL_XFER_TIMEOUT ] = w;
852     }
853    
854     L4_INLINE L4_Word_t __L4_TCR_IntendedReceiver( void )
855    diff -rup pistachio/user/include/l4/powerpc/vregs.h pistachio-to/user/include/l4/powerpc/vregs.h
856    --- pistachio/user/include/l4/powerpc/vregs.h   2003-10-27 21:50:41.000000000 +0100
857    +++ pistachio-to/user/include/l4/powerpc/vregs.h        2005-01-31 14:46:01.000000000 +0100
858    @@ -53,6 +53,7 @@ L4_INLINE L4_Word_t *__L4_PPC_Utcb( void
859      * Location of TCRs within UTCB.
860      */
861    
862    +#define __L4_TCR_LOCAL_XFER_TIMEOUT            (-3)
863     #define __L4_TCR_THREAD_WORD_0                 (-4)
864     #define __L4_TCR_THREAD_WORD_1                 (-5)
865     #define __L4_TCR_VIRTUAL_ACTUAL_SENDER         (-6)
866    @@ -131,6 +132,7 @@ L4_INLINE L4_Word_t __L4_TCR_XferTimeout
867     L4_INLINE void __L4_TCR_Set_XferTimeout( L4_Word_t w )
868     {
869         (__L4_PPC_Utcb())[ __L4_TCR_XFER_TIMEOUT ] = w;
870    +    (__L4_PPC_Utcb())[ __L4_TCR_LOCAL_XFER_TIMEOUT ] = w;
871     }
872    
873     L4_INLINE L4_Word_t __L4_TCR_IntendedReceiver( void )
874    diff -rup pistachio/user/include/l4/powerpc64/vregs.h pistachio-to/user/include/l4/powerpc64/vregs.h
875    --- pistachio/user/include/l4/powerpc64/vregs.h 2003-10-28 02:26:17.000000000 +0100
876    +++ pistachio-to/user/include/l4/powerpc64/vregs.h      2005-01-31 14:46:25.000000000 +0100
877    @@ -48,6 +48,7 @@ L4_INLINE L4_Word_t *__L4_PPC64_Utcb( vo
878    
879     #define __L4_TCR_BR_OFFSET                     (80)
880     #define __L4_TCR_MR_OFFSET                     (16)
881    +#define __L4_TCR_LOCAL_XFER_TIMEOUT            (12)
882     #define __L4_TCR_THREAD_WORD1                  (11)
883     #define __L4_TCR_THREAD_WORD0                  (10)
884     #define __L4_TCR_VIRTUAL_ACTUAL_SENDER         (9)
885    @@ -131,6 +132,7 @@ L4_INLINE L4_Word_t __L4_TCR_XferTimeout
886     L4_INLINE void __L4_TCR_Set_XferTimeout( L4_Word_t w )
887     {
888         (__L4_PPC64_Utcb())[ __L4_TCR_XFER_TIMEOUT ] = w;
889    +    (__L4_PPC64_Utcb())[ __L4_TCR_LOCAL_XFER_TIMEOUT ] = w;
890     }
891    
892     L4_INLINE L4_Word_t __L4_TCR_IntendedReceiver( void )

Legend:
Removed from v.1.16  
changed lines
  Added in v.1.17

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26