Changeset 169587a in mainline for arch/ia32/src/smp/apic.c


Ignore:
Timestamp:
2005-02-21T21:47:22Z (20 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
b109ebb
Parents:
0ded477
Message:

TLB shootdown.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • arch/ia32/src/smp/apic.c

    r0ded477 r169587a  
    143143
    144144/*
     145 * Send all CPUs excluding the->cpu IPI vector.
     146 */
     147int 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/*
    145168 * Universal Start-up Algorithm for bringing up the AP processors.
    146169 */
Note: See TracChangeset for help on using the changeset viewer.