Subversion Repositories HelenOS-historic

Rev

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

Rev 1 Rev 5
Line 140... Line 140...
140
   
140
   
141
    return !esr;
141
    return !esr;
142
}
142
}
143
 
143
 
144
/*
144
/*
-
 
145
 * Send all CPUs excluding the->cpu IPI vector.
-
 
146
 */
-
 
147
int l_apic_broadcast_custom_ipi(__u8 vector)
-
 
148
{
-
 
149
    __u32 lo;
-
 
150
 
-
 
151
    /*
-
 
152
     * Read the ICR register in and zero all non-reserved fields.
-
 
153
     */
-
 
154
    lo = l_apic[ICRlo] & ICRloClear;
-
 
155
 
-
 
156
    lo |= DLVRMODE_FIXED | DESTMODE_LOGIC | LEVEL_ASSERT | SHORTHAND_EXCL | TRGRMODE_LEVEL | vector;
-
 
157
   
-
 
158
    l_apic[ICRlo] = lo;
-
 
159
 
-
 
160
    lo = l_apic[ICRlo] & ICRloClear;
-
 
161
    if (lo & SEND_PENDING)
-
 
162
        printf("IPI is pending.\n");
-
 
163
 
-
 
164
    return apic_poll_errors();
-
 
165
}
-
 
166
 
-
 
167
/*
145
 * Universal Start-up Algorithm for bringing up the AP processors.
168
 * Universal Start-up Algorithm for bringing up the AP processors.
146
 */
169
 */
147
int l_apic_send_init_ipi(__u8 apicid)
170
int l_apic_send_init_ipi(__u8 apicid)
148
{
171
{
149
    __u32 lo, hi;
172
    __u32 lo, hi;