make allocmem accept and return values in bytes, ramdisk expects this.
This commit is contained in:
parent
51fdce1d36
commit
9b33056d2b
@ -1873,9 +1873,6 @@ void monitor(void)
|
|||||||
|
|
||||||
#if BIOS
|
#if BIOS
|
||||||
|
|
||||||
unsigned char cdspec[25];
|
|
||||||
void bootcdinfo(u32_t, int *, int drive);
|
|
||||||
|
|
||||||
void boot(void)
|
void boot(void)
|
||||||
/* Load Minix and start it, among other things. */
|
/* Load Minix and start it, among other things. */
|
||||||
{
|
{
|
||||||
|
@ -837,7 +837,7 @@
|
|||||||
# define VMUM_LEN m1_i1
|
# define VMUM_LEN m1_i1
|
||||||
|
|
||||||
#define VM_ALLOCMEM (VM_RQ_BASE+18)
|
#define VM_ALLOCMEM (VM_RQ_BASE+18)
|
||||||
# define VMAM_CLICKS m1_p1
|
# define VMAM_BYTES m1_p1
|
||||||
# define VMAM_MEMBASE m1_i1
|
# define VMAM_MEMBASE m1_i1
|
||||||
|
|
||||||
/* Calls from VFS. */
|
/* Calls from VFS. */
|
||||||
|
@ -6,12 +6,12 @@
|
|||||||
/*===========================================================================*
|
/*===========================================================================*
|
||||||
* vm_allocmem *
|
* vm_allocmem *
|
||||||
*===========================================================================*/
|
*===========================================================================*/
|
||||||
PUBLIC int vm_allocmem(phys_clicks clicks, phys_clicks *retmembase)
|
PUBLIC int vm_allocmem(phys_clicks bytes, phys_clicks *retmembase)
|
||||||
{
|
{
|
||||||
message m;
|
message m;
|
||||||
int result;
|
int result;
|
||||||
|
|
||||||
m.VMAM_CLICKS = clicks;
|
m.VMAM_BYTES = bytes;
|
||||||
result = _taskcall(VM_PROC_NR, VM_ALLOCMEM, &m);
|
result = _taskcall(VM_PROC_NR, VM_ALLOCMEM, &m);
|
||||||
if(result == OK)
|
if(result == OK)
|
||||||
*retmembase = m.VMAM_MEMBASE;
|
*retmembase = m.VMAM_MEMBASE;
|
||||||
|
@ -72,7 +72,9 @@ PUBLIC int do_allocmem()
|
|||||||
r = vm_allocmem(m_in.memsize, &retmembase);
|
r = vm_allocmem(m_in.memsize, &retmembase);
|
||||||
if(r == OK)
|
if(r == OK)
|
||||||
mp->mp_reply.membase = retmembase;
|
mp->mp_reply.membase = retmembase;
|
||||||
|
#if 0
|
||||||
printf("PM: do_allocmem: %d\n", r);
|
printf("PM: do_allocmem: %d\n", r);
|
||||||
|
#endif
|
||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -817,15 +817,19 @@ PUBLIC void release_dma(struct vmproc *vmp)
|
|||||||
*===========================================================================*/
|
*===========================================================================*/
|
||||||
PUBLIC int do_allocmem(message *m)
|
PUBLIC int do_allocmem(message *m)
|
||||||
{
|
{
|
||||||
phys_clicks mem;
|
phys_clicks mem, clicks;
|
||||||
|
|
||||||
if((mem=ALLOC_MEM((phys_clicks) m->VMAM_CLICKS, PAF_CLEAR)) == NO_MEM) {
|
clicks = 1 + ((vir_bytes)m->VMAM_BYTES / CLICK_SIZE);
|
||||||
|
|
||||||
|
if((mem=ALLOC_MEM(clicks, PAF_CLEAR)) == NO_MEM) {
|
||||||
return ENOMEM;
|
return ENOMEM;
|
||||||
}
|
}
|
||||||
|
|
||||||
m->VMAM_MEMBASE = mem;
|
m->VMAM_MEMBASE = CLICK2ABS(mem);
|
||||||
|
|
||||||
|
#if 0
|
||||||
printf("VM: do_allocmem: 0x%lx clicks OK at 0x%lx\n", m->VMAM_CLICKS, mem);
|
printf("VM: do_allocmem: 0x%lx clicks OK at 0x%lx\n", m->VMAM_CLICKS, mem);
|
||||||
|
#endif
|
||||||
|
|
||||||
return OK;
|
return OK;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user