make allocmem accept and return values in bytes, ramdisk expects this.

This commit is contained in:
Ben Gras 2008-11-19 15:40:17 +00:00
parent 51fdce1d36
commit 9b33056d2b
5 changed files with 12 additions and 9 deletions

View File

@ -1873,9 +1873,6 @@ void monitor(void)
#if BIOS
unsigned char cdspec[25];
void bootcdinfo(u32_t, int *, int drive);
void boot(void)
/* Load Minix and start it, among other things. */
{

View File

@ -837,7 +837,7 @@
# define VMUM_LEN m1_i1
#define VM_ALLOCMEM (VM_RQ_BASE+18)
# define VMAM_CLICKS m1_p1
# define VMAM_BYTES m1_p1
# define VMAM_MEMBASE m1_i1
/* Calls from VFS. */

View File

@ -6,12 +6,12 @@
/*===========================================================================*
* vm_allocmem *
*===========================================================================*/
PUBLIC int vm_allocmem(phys_clicks clicks, phys_clicks *retmembase)
PUBLIC int vm_allocmem(phys_clicks bytes, phys_clicks *retmembase)
{
message m;
int result;
m.VMAM_CLICKS = clicks;
m.VMAM_BYTES = bytes;
result = _taskcall(VM_PROC_NR, VM_ALLOCMEM, &m);
if(result == OK)
*retmembase = m.VMAM_MEMBASE;

View File

@ -72,7 +72,9 @@ PUBLIC int do_allocmem()
r = vm_allocmem(m_in.memsize, &retmembase);
if(r == OK)
mp->mp_reply.membase = retmembase;
#if 0
printf("PM: do_allocmem: %d\n", r);
#endif
return r;
}

View File

@ -817,15 +817,19 @@ PUBLIC void release_dma(struct vmproc *vmp)
*===========================================================================*/
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;
}
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);
#endif
return OK;
}