Changeset df688cd in mainline


Ignore:
Timestamp:
2006-06-02T00:26:44Z (19 years ago)
Author:
Ondrej Palkovsky <ondrap@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
10569b1
Parents:
46bd593f
Message:

Added support ega framebuffer.
Removed taskid parameter from map_physmem. The same effect
can (and should) be performed using IPC.

Files:
2 added
6 edited

Legend:

Unmodified
Added
Removed
  • fb/Makefile

    r46bd593f rdf688cd  
    4949        font-8x16.c \
    5050        main.c \
    51         sysio.c
     51        sysio.c \
     52        ega.c
    5253
    5354OBJECTS := $(addsuffix .o,$(basename $(SOURCES)))
  • fb/fb.c

    r46bd593f rdf688cd  
    565565        fb_addr=ALIGN_UP(((__address)set_maxheapsize(USER_ADDRESS_SPACE_SIZE_ARCH>>1)),PAGE_SIZE);
    566566       
    567         map_physmem(task_get_id(),(void *)((__address)fb_ph_addr),(void *)fb_addr,
     567        map_physmem((void *)((__address)fb_ph_addr),(void *)fb_addr,
    568568                    (fb_scanline*fb_height+PAGE_SIZE-1)>>PAGE_WIDTH,
    569569                    AS_AREA_READ | AS_AREA_WRITE | AS_AREA_CACHEABLE);
  • fb/main.c

    r46bd593f rdf688cd  
    3434#include "fb.h"
    3535#include "sysio.h"
     36#include "ega.h"
    3637
    3738int main(int argc, char *argv[])
     
    4344                if (fb_init() == 0)
    4445                        initialized = 1;
     46        } else if (sysinfo_value("fb.kind") == 2) {
     47                if (ega_init() == 0)
     48                        initialized = 1;
    4549        }
     50       
    4651        if (!initialized)
    4752                sysio_init();
  • libc/generic/ddi.c

    r46bd593f rdf688cd  
    4646 *         was some problem in creating address space area.
    4747 */
    48 int map_physmem(task_id_t id, void *pf, void *vp, unsigned long pages, int flags)
     48int map_physmem(void *pf, void *vp, unsigned long pages, int flags)
    4949{
    50         task_id_t task_id;
    51         ddi_memarg_t arg;
    52 
    53         arg.task_id = id;
    54         arg.phys_base = pf;
    55         arg.virt_base = vp;
    56         arg.pages = pages;
    57         arg.flags = flags;
    58 
    59         return __SYSCALL1(SYS_MAP_PHYSMEM, (sysarg_t) &arg);
     50        return __SYSCALL4(SYS_MAP_PHYSMEM, (sysarg_t) pf, (sysarg_t)vp, pages, flags);
    6051}
    6152
  • libc/include/ddi.h

    r46bd593f rdf688cd  
    3232#include <task.h>
    3333
    34 extern int map_physmem(task_id_t id, void *pf, void *vp, unsigned long pages, int flags);
     34extern int map_physmem(void *pf, void *vp, unsigned long pages, int flags);
    3535extern int iospace_enable(task_id_t id, void *ioaddr, unsigned long size);
    3636extern int preemption_control(int enable);
  • ns/ns.c

    r46bd593f rdf688cd  
    8989                }
    9090                addr = (void *)(200*1024*1024); /* TODO: intelligent freemem space */
    91                 map_physmem(task_get_id(), ph_addr, addr, 1,
    92                             AS_AREA_READ | AS_AREA_CACHEABLE);
     91                map_physmem(ph_addr, addr, 1, AS_AREA_READ | AS_AREA_CACHEABLE);
    9392        }
    9493        ipc_answer_fast(callid, 0, (ipcarg_t)addr, AS_AREA_READ | AS_AREA_CACHEABLE);
Note: See TracChangeset for help on using the changeset viewer.