Subversion Repositories HelenOS

Rev

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

Rev 2479 Rev 2588
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(callid, ENOENT, 0, 0);
95
            ipc_answer_fast_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, AS_AREA_READ | AS_AREA_CACHEABLE);
100
            AS_AREA_READ | AS_AREA_CACHEABLE);
100
    }
101
    }
101
    ipc_answer_fast(callid, 0, (ipcarg_t) *addr, AS_AREA_READ);
102
    ipc_answer_fast(callid, EOK, (ipcarg_t) *addr, AS_AREA_READ);
102
}
103
}
103
 
104
 
104
int main(int argc, char **argv)
105
int main(int argc, char **argv)
105
{
106
{
106
    ipc_call_t call;
107
    ipc_call_t call;
Line 125... Line 126...
125
            case SERVICE_MEM_KLOG:
126
            case SERVICE_MEM_KLOG:
126
                get_as_area(callid, &call, "klog.faddr",
127
                get_as_area(callid, &call, "klog.faddr",
127
                    &klogaddr);
128
                    &klogaddr);
128
                break;
129
                break;
129
            default:
130
            default:
130
                ipc_answer_fast(callid, ENOENT, 0, 0);
131
                ipc_answer_fast_0(callid, ENOENT);
131
            }
132
            }
132
            continue;
133
            continue;
133
        case IPC_M_PHONE_HUNGUP:
134
        case IPC_M_PHONE_HUNGUP:
134
            retval = 0;
135
            retval = EOK;
135
            break;
136
            break;
136
        case IPC_M_CONNECT_TO_ME:
137
        case IPC_M_CONNECT_TO_ME:
137
            /*
138
            /*
138
             * Server requests service registration.
139
             * Server requests service registration.
139
             */
140
             */
Line 150... Line 151...
150
        default:
151
        default:
151
            retval = ENOENT;
152
            retval = ENOENT;
152
            break;
153
            break;
153
        }
154
        }
154
        if (!(callid & IPC_CALLID_NOTIFICATION)) {
155
        if (!(callid & IPC_CALLID_NOTIFICATION)) {
155
            ipc_answer_fast(callid, retval, 0, 0);
156
            ipc_answer_fast_0(callid, retval);
156
        }
157
        }
157
    }
158
    }
158
}
159
}
159
 
160
 
160
/** Register service.
161
/** Register service.