Subversion Repositories Kolibri OS

Rev

Rev 908 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 908 Rev 1066
Line 11... Line 11...
11
void __fastcall *balloc(u32_t size);
11
void __fastcall *balloc(u32_t size);
Line 12... Line 12...
12
 
12
 
Line 13... Line -...
13
zone_t z_core;
-
 
14
 
-
 
15
static inline u32_t save_edx(void)
-
 
16
{
-
 
17
  u32_t val;
-
 
18
  asm volatile ("movl %%edx, %0":"=r"(val));
-
 
19
  return val;
-
 
20
};
-
 
21
 
-
 
22
static inline void restore_edx(u32_t val)
-
 
23
{
-
 
Line 24... Line 13...
24
  asm volatile (""::"d" (val) );
13
zone_t z_core;
25
};
14
 
26
 
15
 
Line 34... Line 23...
34
size_t buddy_conf_size(int max_order);
23
size_t buddy_conf_size(int max_order);
Line 35... Line 24...
35
 
24
 
Line 36... Line -...
36
static inline void frame_initialize(frame_t *frame);
-
 
37
 
-
 
Line 38... Line 25...
38
void init_mm();
25
static inline void frame_initialize(frame_t *frame);
39
 
26
 
40
 
27
 
Line 556... Line 543...
556
       v = zone_frame_alloc(&z_core, order);
543
       v = zone_frame_alloc(&z_core, order);
557
     spinlock_unlock(&z_core.lock);
544
     spinlock_unlock(&z_core.lock);
558
   safe_sti(efl);
545
   safe_sti(efl);
559
 
546
 
Line 560... Line 547...
560
   DBG("core alloc: %x, size %x   remain  %d\n", v << FRAME_WIDTH,
547
   DBG("core alloc at: 0x%x, size 0x%x   remain  %d\n", v << FRAME_WIDTH,
561
        ((1<
548
        ((1<
Line 562... Line 549...
562
 
549
 
563
   return (v << FRAME_WIDTH);
550
   return (v << FRAME_WIDTH);
Line 564... Line 551...
564
};
551
};
565
 
552
 
566
void __fastcall core_free(addr_t frame)
553
void __fastcall core_free(addr_t frame)
Line 567... Line 554...
567
{
554
{
Line 568... Line 555...
568
   eflags_t efl;
555
   eflags_t efl;
569
 
556
 
570
   DBG("core free %x", frame);
557
   DBG("core free  0x%x", frame);
571
 
558
 
572
   efl = safe_cli();
559
   efl = safe_cli();
Line 573... Line 560...
573
     spinlock_lock(&z_core.lock);
560
     spinlock_lock(&z_core.lock);