Messages in this thread | | | Subject | RE: [PATCH](retry 2) Re: invalidate caches before going into suspend | Date | Wed, 13 Aug 2008 13:47:05 -0500 | From | "Langsdorf, Mark" <> |
| |
> Mark Langsdorf <mark.langsdorf@amd.com> wrote: > > + /* mask all interrupts, flush any and all caches, and halt */ > > + if (cpu_has_clflush) > > + wbinvd_halt(); > > + else > > + while (1) > > + halt(); > > } > > I like the asm version .. but this code makes me blink. > when you HAVE clflush you do wbinvd. > yeah I know it's correct but... it reads wonky ;)
It's the most convenient symbol to test against. I suppose I should add a comment explaining it.
> also.. can we move that check into the wbinvd_halt() itself, so that > the callers don't need to care what is used to select it ?
irqflags.h doesn't guarantee the presence of boot_cpu_data, so I wasn't able to make that check cleanly. I could move the macro definition to process_??.c if that would better.
-Mark Langsdorf Operating System Research Center AMD
| |