Changeset 2936eef in mainline


Ignore:
Timestamp:
2007-02-05T15:40:45Z (18 years ago)
Author:
Martin Decky <martin@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
3c771149
Parents:
55b4437
Message:

explicit typecast, fix signed/unsigned comparison

Location:
kernel/generic
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • kernel/generic/include/mm/frame.h

    r55b4437 r2936eef  
    9898
    9999extern void frame_init(void);
    100 extern void *frame_alloc_generic(uint8_t order, int flags, int *pzone);
     100extern void *frame_alloc_generic(uint8_t order, int flags, unsigned int *pzone);
    101101extern void frame_free(uintptr_t frame);
    102102extern void frame_reference_add(pfn_t pfn);
    103103
    104104extern int zone_create(pfn_t start, count_t count, pfn_t confframe, int flags);
    105 void *frame_get_parent(pfn_t frame, int hint);
    106 void frame_set_parent(pfn_t frame, void *data, int hint);
     105void *frame_get_parent(pfn_t frame, unsigned int hint);
     106void frame_set_parent(pfn_t frame, void *data, unsigned int hint);
    107107void frame_mark_unavailable(pfn_t start, count_t count);
    108108uintptr_t zone_conf_size(count_t count);
    109 void zone_merge(int z1, int z2);
     109void zone_merge(unsigned int z1, unsigned int z2);
    110110void zone_merge_all(void);
    111111
     
    114114 */
    115115extern void zone_print_list(void);
    116 void zone_print_one(int znum);
     116void zone_print_one(unsigned int znum);
    117117
    118118#endif
  • kernel/generic/src/mm/frame.c

    r55b4437 r2936eef  
    9494typedef struct {
    9595        SPINLOCK_DECLARE(lock);
    96         int count;
     96        unsigned int count;
    9797        zone_t *info[ZONES_MAX];
    9898} zones_t;
     
    145145static int zones_add_zone(zone_t *newzone)
    146146{
    147         int i,j;
     147        unsigned int i, j;
    148148        ipl_t ipl;
    149149        zone_t *z;
     
    186186 * @return Pointer to locked zone containing frame
    187187 */
    188 static zone_t * find_zone_and_lock(pfn_t frame, int *pzone)
    189 {
    190         int i;
    191         int hint = pzone ? *pzone : 0;
     188static zone_t * find_zone_and_lock(pfn_t frame, unsigned int *pzone)
     189{
     190        unsigned int i;
     191        unsigned int hint = pzone ? *pzone : 0;
    192192        zone_t *z;
    193193       
     
    233233static zone_t * find_free_zone_and_lock(uint8_t order, int *pzone)
    234234{
    235         int i;
     235        unsigned int i;
    236236        zone_t *z;
    237         int hint = pzone ? *pzone : 0;
     237        unsigned int hint = pzone ? *pzone : 0;
    238238       
    239239        spinlock_lock(&zones.lock);
     
    540540{
    541541        uint8_t max_order;
    542         int i, z2idx;
     542        unsigned int i;
     543        int z2idx;
    543544        pfn_t frame_idx;
    544545        frame_t *frame;
     
    562563                            (void *) z);
    563564
    564         z->frames = (frame_t *)((void *)z->buddy_system+buddy_conf_size(max_order));
     565        z->frames = (frame_t *)((uint8_t *) z->buddy_system + buddy_conf_size(max_order));
    565566        for (i = 0; i < z->count; i++) {
    566567                /* This marks all frames busy */
     
    574575         * problems with allocation/free.
    575576         */
    576         for (i=0; i<z1->count; i++)
     577        for (i = 0; i < z1->count; i++)
    577578                z->frames[i] = z1->frames[i];
    578         for (i=0; i < z2->count; i++) {
     579        for (i = 0; i < z2->count; i++) {
    579580                z2idx = i + (z2->base - z1->base);
    580581                z->frames[z2idx] = z2->frames[i];
     
    624625        frame_t *frame;
    625626        count_t cframes;
    626         int i;
     627        unsigned int i;
    627628
    628629        pfn = ADDR2PFN((uintptr_t)KA2PA(oldzone));
     
    635636        ASSERT(!frame->buddy_order);
    636637
    637         for (i=0; i < cframes; i++) {
     638        for (i = 0; i < cframes; i++) {
    638639                newzone->busy_count++;
    639640                zone_frame_free(newzone, pfn+i-newzone->base);
     
    658659        frame_t *frame;
    659660       
    660         ASSERT(frame_idx+count < zone->count);
     661        ASSERT(frame_idx + count < zone->count);
    661662
    662663        order = zone->frames[frame_idx].buddy_order;
    663         ASSERT((1 << order) >= count);
     664        ASSERT((count_t) (1 << order) >= count);
    664665
    665666        /* Reduce all blocks to order 0 */
    666         for (i=0; i < (1 << order); i++) {
     667        for (i = 0; i < (count_t) (1 << order); i++) {
    667668                frame = &zone->frames[i + frame_idx];
    668669                frame->buddy_order = 0;
     
    672673        }
    673674        /* Free unneeded frames */
    674         for (i=count; i < (1 << order); i++) {
     675        for (i = count; i < (count_t) (1 << order); i++) {
    675676                zone_frame_free(zone, i + frame_idx);
    676677        }
     
    686687 *   possible, merged configuration data occupies more space :-/
    687688 */
    688 void zone_merge(int z1, int z2)
     689void zone_merge(unsigned int z1, unsigned int z2)
    689690{
    690691        ipl_t ipl;
    691692        zone_t *zone1, *zone2, *newzone;
    692         int cframes;
     693        unsigned int cframes;
    693694        uint8_t order;
    694         int i;
     695        unsigned int i;
    695696        pfn_t pfn;
    696697
     
    723724                goto errout2;
    724725
    725         newzone = (zone_t *)PA2KA(PFN2ADDR(pfn));
     726        newzone = (zone_t *) PA2KA(PFN2ADDR(pfn));
    726727
    727728        _zone_merge(newzone, zone1, zone2);
     
    780781static void zone_construct(pfn_t start, count_t count, zone_t *z, int flags)
    781782{
    782         int i;
     783        unsigned int i;
    783784        uint8_t max_order;
    784785
     
    802803        /* Allocate frames _after_ the conframe */
    803804        /* Check sizes */
    804         z->frames = (frame_t *)((void *)z->buddy_system+buddy_conf_size(max_order));
    805         for (i = 0; i<count; i++) {
     805        z->frames = (frame_t *)((uint8_t *) z->buddy_system + buddy_conf_size(max_order));
     806        for (i = 0; i < count; i++) {
    806807                frame_initialize(&z->frames[i]);
    807808        }
     
    849850        uintptr_t addr;
    850851        count_t confcount;
    851         int i;
     852        unsigned int i;
    852853        int znum;
    853854
     
    893894
    894895        /* If confdata in zone, mark as unavailable */
    895         if (confframe >= start && confframe < start+count)
    896                 for (i=confframe; i<confframe+confcount; i++) {
     896        if (confframe >= start && confframe < start + count)
     897                for (i = confframe; i < confframe + confcount; i++) {
    897898                        zone_mark_unavailable(z, i - z->base);
    898899                }
     
    904905
    905906/** Set parent of frame */
    906 void frame_set_parent(pfn_t pfn, void *data, int hint)
     907void frame_set_parent(pfn_t pfn, void *data, unsigned int hint)
    907908{
    908909        zone_t *zone = find_zone_and_lock(pfn, &hint);
     
    914915}
    915916
    916 void * frame_get_parent(pfn_t pfn, int hint)
     917void * frame_get_parent(pfn_t pfn, unsigned int hint)
    917918{
    918919        zone_t *zone = find_zone_and_lock(pfn, &hint);
     
    10451046void frame_mark_unavailable(pfn_t start, count_t count)
    10461047{
    1047         int i;
     1048        unsigned int i;
    10481049        zone_t *zone;
    1049         int prefzone = 0;
    1050        
    1051         for (i=0; i < count; i++) {
     1050        unsigned int prefzone = 0;
     1051       
     1052        for (i = 0; i < count; i++) {
    10521053                zone = find_zone_and_lock(start + i, &prefzone);
    10531054                if (!zone) /* PFN not found */
     
    10951096void zone_print_list(void) {
    10961097        zone_t *zone = NULL;
    1097         int i;
     1098        unsigned int i;
    10981099        ipl_t ipl;
    10991100
     
    11161117 * @param num Zone base address or zone number.
    11171118 */
    1118 void zone_print_one(int num) {
     1119void zone_print_one(unsigned int num) {
    11191120        zone_t *zone = NULL;
    11201121        ipl_t ipl;
    1121         int i;
     1122        unsigned int i;
    11221123
    11231124        ipl = interrupts_disable();
Note: See TracChangeset for help on using the changeset viewer.