Ignore:
Timestamp:
2018-07-18T18:56:16Z (6 years ago)
Author:
Jiří Zárevúcky <jiri.zarevucky@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
40abf56
Parents:
9b1baac
git-author:
Jiří Zárevúcky <jiri.zarevucky@…> (2018-07-18 14:25:11)
git-committer:
Jiří Zárevúcky <jiri.zarevucky@…> (2018-07-18 18:56:16)
Message:

Adds

  • tcb_raw_get(), which returns the value of the TP register without any offsets applied to it,
  • tcb_raw_set(), which does the opposite,
  • tcb_is_set(), which returns true iff the register is not NULL,
  • tcb_reset(), which sets the register to NULL.

Used for debug assertions.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/c/arch/amd64/include/libarch/tls.h

    r9b1baac r0b05082  
    3838#define CONFIG_TLS_VARIANT_2
    3939
     40#define ARCH_TP_OFFSET 0
     41
    4042#include <libc.h>
    4143
     
    4547} tcb_t;
    4648
    47 static inline void __tcb_set(tcb_t *tcb)
     49static inline void __tcb_raw_set(void *tls)
    4850{
    49         asm volatile ("movq %0, %%fs:0" :: "r" (tcb));
     51        asm volatile ("movq %0, %%fs:0" :: "r" (tls));
    5052}
    5153
    52 static inline tcb_t *__tcb_get(void)
     54static inline void *__tcb_raw_get(void)
    5355{
    54         tcb_t *retval;
    55 
     56        void *retval;
    5657        asm volatile ("movq %%fs:0, %0" : "=r" (retval));
    5758        return retval;
Note: See TracChangeset for help on using the changeset viewer.