Changeset b169619 in mainline for kernel/generic/include


Ignore:
Timestamp:
2023-10-27T17:38:32Z (2 years ago)
Author:
Jiří Zárevúcky <zarevucky.jiri@…>
Branches:
master, topic/msim-upgrade, topic/simplify-dev-export
Children:
44e8541
Parents:
c89ae25
git-author:
Jiří Zárevúcky <zarevucky.jiri@…> (2023-10-27 13:19:20)
git-committer:
Jiří Zárevúcky <zarevucky.jiri@…> (2023-10-27 17:38:32)
Message:

Deduplicate mem functions

There are a number of functions which are copied between
kernel, libc, and potentially boot too. mem*() functions
are first such offenders. All this duplicate code will
be moved to directory 'common'.

Location:
kernel/generic/include
Files:
1 deleted
2 edited
1 moved

Legend:

Unmodified
Added
Removed
  • kernel/generic/include/cc.h

    rc89ae25 rb169619  
    3838
    3939#ifndef __clang__
    40 #define ATTRIBUTE_OPTIMIZE(opt) \
    41         __attribute__ ((optimize(opt)))
    4240#define ATTRIBUTE_USED \
    4341        __attribute__ ((used))
    4442#else
    45 #define ATTRIBUTE_OPTIMIZE(opt)
    4643#define ATTRIBUTE_USED
    4744#endif
  • kernel/generic/include/cpu/cpu_mask.h

    rc89ae25 rb169619  
    3737#include <cpu.h>
    3838#include <config.h>
    39 #include <lib/memfnc.h>
     39#include <memw.h>
    4040
    4141/** Iterates over all cpu id's whose bit is included in the cpu mask.
  • kernel/generic/include/memw.h

    rc89ae25 rb169619  
    3838#include <stddef.h>
    3939#include <stdint.h>
    40 #include <cc.h>
    4140
    42 #ifdef CONFIG_LTO
    43 #define DO_NOT_DISCARD ATTRIBUTE_USED
    44 #else
    45 #define DO_NOT_DISCARD
    46 #endif
    47 
    48 #define memset(dst, val, cnt)  __builtin_memset((dst), (val), (cnt))
    49 #define memcpy(dst, src, cnt)  __builtin_memcpy((dst), (src), (cnt))
    50 #define memcmp(s1, s2, cnt)    __builtin_memcmp((s1), (s2), (cnt))
     41#include <mem.h>
    5142
    5243extern void memsetb(void *, size_t, uint8_t)
     
    5445extern void memsetw(void *, size_t, uint16_t)
    5546    __attribute__((nonnull(1)));
    56 extern void *memmove(void *, const void *, size_t)
    57     __attribute__((nonnull(1, 2))) DO_NOT_DISCARD;
    5847
    5948#endif
Note: See TracChangeset for help on using the changeset viewer.