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
 | 
			
		||||
 | 
			
		||||
unsigned char cdspec[25];
 | 
			
		||||
void bootcdinfo(u32_t, int *, int drive);
 | 
			
		||||
 | 
			
		||||
void boot(void)
 | 
			
		||||
/* Load Minix and start it, among other things. */
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
@ -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. */
 | 
			
		||||
 | 
			
		||||
@ -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;
 | 
			
		||||
 | 
			
		||||
@ -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;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -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;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user