Subversion Repositories HelenOS

Rev

Rev 2594 | Rev 2622 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2594 Rev 2619
Line 90... Line 90...
90
    void *ph_addr;
90
    void *ph_addr;
91
 
91
 
92
    if (!*addr) {
92
    if (!*addr) {
93
        ph_addr = (void *) sysinfo_value(name);
93
        ph_addr = (void *) sysinfo_value(name);
94
        if (!ph_addr) {
94
        if (!ph_addr) {
95
            ipc_answer_fast_0(callid, ENOENT);
95
            ipc_answer_0(callid, ENOENT);
96
            return;
96
            return;
97
        }
97
        }
98
        *addr = as_get_mappable_page(PAGE_SIZE);
98
        *addr = as_get_mappable_page(PAGE_SIZE);
99
        physmem_map(ph_addr, *addr, 1,
99
        physmem_map(ph_addr, *addr, 1,
100
            AS_AREA_READ | AS_AREA_CACHEABLE);
100
            AS_AREA_READ | AS_AREA_CACHEABLE);
101
    }
101
    }
102
    ipc_answer_fast(callid, EOK, (ipcarg_t) *addr, AS_AREA_READ);
102
    ipc_answer_2(callid, EOK, (ipcarg_t) *addr, AS_AREA_READ);
103
}
103
}
104
 
104
 
105
int main(int argc, char **argv)
105
int main(int argc, char **argv)
106
{
106
{
107
    ipc_call_t call;
107
    ipc_call_t call;
Line 126... Line 126...
126
            case SERVICE_MEM_KLOG:
126
            case SERVICE_MEM_KLOG:
127
                get_as_area(callid, &call, "klog.faddr",
127
                get_as_area(callid, &call, "klog.faddr",
128
                    &klogaddr);
128
                    &klogaddr);
129
                break;
129
                break;
130
            default:
130
            default:
131
                ipc_answer_fast_0(callid, ENOENT);
131
                ipc_answer_0(callid, ENOENT);
132
            }
132
            }
133
            continue;
133
            continue;
134
        case IPC_M_PHONE_HUNGUP:
134
        case IPC_M_PHONE_HUNGUP:
135
            retval = EOK;
135
            retval = EOK;
136
            break;
136
            break;
Line 151... Line 151...
151
        default:
151
        default:
152
            retval = ENOENT;
152
            retval = ENOENT;
153
            break;
153
            break;
154
        }
154
        }
155
        if (!(callid & IPC_CALLID_NOTIFICATION)) {
155
        if (!(callid & IPC_CALLID_NOTIFICATION)) {
156
            ipc_answer_fast_0(callid, retval);
156
            ipc_answer_0(callid, retval);
157
        }
157
        }
158
    }
158
    }
159
}
159
}
160
 
160
 
161
/** Register service.
161
/** Register service.