Subversion Repositories HelenOS-historic

Compare Revisions

Ignore whitespace Rev 1494 → Rev 1492

/uspace/trunk/fb/ega.c
File deleted
/uspace/trunk/fb/ega.h
File deleted
/uspace/trunk/fb/main.c
33,7 → 33,6
 
#include "fb.h"
#include "sysio.h"
#include "ega.h"
 
int main(int argc, char *argv[])
{
43,11 → 42,7
if (sysinfo_value("fb.kind") == 1) {
if (fb_init() == 0)
initialized = 1;
} else if (sysinfo_value("fb.kind") == 2) {
if (ega_init() == 0)
initialized = 1;
}
if (!initialized)
sysio_init();
 
/uspace/trunk/fb/fb.c
564,7 → 564,7
 
fb_addr=ALIGN_UP(((__address)set_maxheapsize(USER_ADDRESS_SPACE_SIZE_ARCH>>1)),PAGE_SIZE);
map_physmem((void *)((__address)fb_ph_addr),(void *)fb_addr,
map_physmem(task_get_id(),(void *)((__address)fb_ph_addr),(void *)fb_addr,
(fb_scanline*fb_height+PAGE_SIZE-1)>>PAGE_WIDTH,
AS_AREA_READ | AS_AREA_WRITE | AS_AREA_CACHEABLE);
/uspace/trunk/fb/Makefile
48,8 → 48,7
fb.c \
font-8x16.c \
main.c \
sysio.c \
ega.c
sysio.c
 
OBJECTS := $(addsuffix .o,$(basename $(SOURCES)))
 
/uspace/trunk/libc/include/ddi.h
31,7 → 31,7
 
#include <task.h>
 
extern int map_physmem(void *pf, void *vp, unsigned long pages, int flags);
extern int map_physmem(task_id_t id, void *pf, void *vp, unsigned long pages, int flags);
extern int iospace_enable(task_id_t id, void *ioaddr, unsigned long size);
extern int preemption_control(int enable);
 
/uspace/trunk/libc/generic/ddi.c
45,9 → 45,18
* ENOENT if there is no task with specified ID and ENOMEM if there
* was some problem in creating address space area.
*/
int map_physmem(void *pf, void *vp, unsigned long pages, int flags)
int map_physmem(task_id_t id, void *pf, void *vp, unsigned long pages, int flags)
{
return __SYSCALL4(SYS_MAP_PHYSMEM, (sysarg_t) pf, (sysarg_t)vp, pages, flags);
task_id_t task_id;
ddi_memarg_t arg;
 
arg.task_id = id;
arg.phys_base = pf;
arg.virt_base = vp;
arg.pages = pages;
arg.flags = flags;
 
return __SYSCALL1(SYS_MAP_PHYSMEM, (sysarg_t) &arg);
}
 
/** Enable I/O space range to task.
/uspace/trunk/ns/ns.c
88,7 → 88,8
return;
}
addr = (void *)(200*1024*1024); /* TODO: intelligent freemem space */
map_physmem(ph_addr, addr, 1, AS_AREA_READ | AS_AREA_CACHEABLE);
map_physmem(task_get_id(), ph_addr, addr, 1,
AS_AREA_READ | AS_AREA_CACHEABLE);
}
ipc_answer_fast(callid, 0, (ipcarg_t)addr, AS_AREA_READ | AS_AREA_CACHEABLE);
}