Subversion Repositories HelenOS-historic

Compare Revisions

Ignore whitespace Rev 101 → Rev 102

/SPARTAN/trunk/src/mm/frame.c
42,11 → 42,11
 
#include <synch/spinlock.h>
 
__u32 frames;
__u32 frames_free;
count_t frames = 0;
count_t frames_free;
 
__u8 *frame_bitmap;
__u32 frame_bitmap_octets;
count_t frame_bitmap_octets;
 
/*
* This is for kernel address space frames (allocated with FRAME_KA).
53,8 → 53,8
* Their addresses may not interfere with user address space.
*/
__u8 *frame_kernel_bitmap;
__u32 kernel_frames;
__u32 kernel_frames_free;
count_t kernel_frames;
count_t kernel_frames_free;
 
static spinlock_t framelock;
 
68,7 → 68,6
 
frames = config.memory_size / FRAME_SIZE;
frame_bitmap_octets = frames / 8 + (frames % 8 > 0);
 
frame_bitmap = (__u8 *) malloc(frame_bitmap_octets);
if (!frame_bitmap)
panic("malloc/frame_bitmap\n");
110,7 → 109,7
int i;
pri_t pri;
__u8 **frame_bitmap_ptr = &frame_bitmap;
__u32 *frames_ptr = &frames, *frames_free_ptr = &frames_free;
count_t *frames_ptr = &frames, *frames_free_ptr = &frames_free;
if (flags & FRAME_KA) {
frame_bitmap_ptr = &frame_kernel_bitmap;
165,7 → 164,7
{
pri_t pri;
__u32 frame;
__u32 *frames_free_ptr = &frames_free, *frames_ptr = &frames;
count_t *frames_free_ptr = &frames_free, *frames_ptr = &frames;
__u8 **frame_bitmap_ptr = &frame_bitmap;
 
if (IS_KA(addr)) {
195,9 → 194,9
frames_free++;
}
}
else panic("frame_free: frame already free\n");
else panic("frame already free\n");
}
else panic("frame_free: frame number too big\n");
else panic("frame number too big\n");
spinlock_unlock(&framelock);
cpu_priority_restore(pri);
211,7 → 210,7
{
pri_t pri;
__u32 frame;
__u32 *frames_ptr = &frames, *frames_free_ptr = &frames_free;
count_t *frames_ptr = &frames, *frames_free_ptr = &frames_free;
__u8 **frame_bitmap_ptr = &frame_bitmap;
pri = cpu_priority_high();