Changeset 96b02eb9 in mainline for kernel/arch/amd64


Ignore:
Timestamp:
2010-12-14T12:52:38Z (15 years ago)
Author:
Martin Decky <martin@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
6b10dab
Parents:
554debd
Message:

more unification of basic types

  • use sysarg_t and native_t (unsigned and signed variant) in both kernel and uspace
  • remove ipcarg_t in favour of sysarg_t

(no change in functionality)

Location:
kernel/arch/amd64
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • kernel/arch/amd64/include/asm.h

    r554debd r96b02eb9  
    304304}
    305305
    306 NO_TRACE static inline unative_t read_msr(uint32_t msr)
     306NO_TRACE static inline sysarg_t read_msr(uint32_t msr)
    307307{
    308308        uint32_t ax, dx;
     
    343343        asm volatile (
    344344                "invlpg %[addr]\n"
    345                 :: [addr] "m" (*((unative_t *) addr))
     345                :: [addr] "m" (*((sysarg_t *) addr))
    346346        );
    347347}
     
    398398}
    399399
    400 #define GEN_READ_REG(reg) NO_TRACE static inline unative_t read_ ##reg (void) \
     400#define GEN_READ_REG(reg) NO_TRACE static inline sysarg_t read_ ##reg (void) \
    401401        { \
    402                 unative_t res; \
     402                sysarg_t res; \
    403403                asm volatile ( \
    404404                        "movq %%" #reg ", %[res]" \
     
    408408        }
    409409
    410 #define GEN_WRITE_REG(reg) NO_TRACE static inline void write_ ##reg (unative_t regn) \
     410#define GEN_WRITE_REG(reg) NO_TRACE static inline void write_ ##reg (sysarg_t regn) \
    411411        { \
    412412                asm volatile ( \
  • kernel/arch/amd64/include/proc/thread.h

    r554debd r96b02eb9  
    4141
    4242typedef struct {
    43         unative_t tls;
     43        sysarg_t tls;
    4444        /** User and kernel RSP for syscalls. */
    4545        uint64_t syscall_rsp[2];
  • kernel/arch/amd64/include/types.h

    r554debd r96b02eb9  
    4343typedef uint64_t ipl_t;
    4444
    45 typedef uint64_t unative_t;
     45typedef uint64_t sysarg_t;
    4646typedef int64_t native_t;
    4747typedef uint64_t atomic_count_t;
     
    5454
    5555#define PRIdn  PRId64  /**< Format for native_t. */
    56 #define PRIun  PRIu64  /**< Format for unative_t. */
    57 #define PRIxn  PRIx64  /**< Format for hexadecimal unative_t. */
     56#define PRIun  PRIu64  /**< Format for sysarg_t. */
     57#define PRIxn  PRIx64  /**< Format for hexadecimal sysarg_t. */
    5858#define PRIua  PRIu64  /**< Format for atomic_count_t. */
    5959
  • kernel/arch/amd64/src/amd64.c

    r554debd r96b02eb9  
    256256 * we need not to go to CPL0 to read it.
    257257 */
    258 unative_t sys_tls_set(unative_t addr)
     258sysarg_t sys_tls_set(sysarg_t addr)
    259259{
    260260        THREAD->arch.tls = addr;
  • kernel/arch/amd64/src/debugger.c

    r554debd r96b02eb9  
    125125       
    126126        /* Disable breakpoint in DR7 */
    127         unative_t dr7 = read_dr7();
     127        sysarg_t dr7 = read_dr7();
    128128        dr7 &= ~(0x02U << (curidx * 2));
    129129       
     
    152152                if (!(flags & BKPOINT_INSTR)) {
    153153#ifdef __32_BITS__
    154                         dr7 |= ((unative_t) 0x03U) << (18 + 4 * curidx);
     154                        dr7 |= ((sysarg_t) 0x03U) << (18 + 4 * curidx);
    155155#endif
    156156                       
    157157#ifdef __64_BITS__
    158                         dr7 |= ((unative_t) 0x02U) << (18 + 4 * curidx);
     158                        dr7 |= ((sysarg_t) 0x02U) << (18 + 4 * curidx);
    159159#endif
    160160                       
    161161                        if ((flags & BKPOINT_WRITE))
    162                                 dr7 |= ((unative_t) 0x01U) << (16 + 4 * curidx);
     162                                dr7 |= ((sysarg_t) 0x01U) << (16 + 4 * curidx);
    163163                        else if ((flags & BKPOINT_READ_WRITE))
    164                                 dr7 |= ((unative_t) 0x03U) << (16 + 4 * curidx);
     164                                dr7 |= ((sysarg_t) 0x03U) << (16 + 4 * curidx);
    165165                }
    166166               
     
    227227        if (!(breakpoints[slot].flags & BKPOINT_INSTR)) {
    228228                if ((breakpoints[slot].flags & BKPOINT_CHECK_ZERO)) {
    229                         if (*((unative_t *) breakpoints[slot].address) != 0)
     229                        if (*((sysarg_t *) breakpoints[slot].address) != 0)
    230230                                return;
    231231                       
     
    234234                } else {
    235235                        printf("Data watchpoint - new data: %#" PRIxn "\n",
    236                             *((unative_t *) breakpoints[slot].address));
     236                            *((sysarg_t *) breakpoints[slot].address));
    237237                }
    238238        }
     
    279279#endif
    280280       
    281         unative_t dr6 = read_dr6();
     281        sysarg_t dr6 = read_dr6();
    282282       
    283283        unsigned int i;
     
    384384int cmd_del_breakpoint(cmd_arg_t *argv)
    385385{
    386         unative_t bpno = argv->intval;
     386        sysarg_t bpno = argv->intval;
    387387        if (bpno > BKPOINTS_MAX) {
    388388                printf("Invalid breakpoint number.\n");
Note: See TracChangeset for help on using the changeset viewer.