On , julian.harnath@xxxxxxxxxxxxxx wrote:
hrev47800 adds 4 changesets to branch 'master' old head: 952aff674e07c1d0b3777ecec9622386dbc9f3e8 new head: ec8fc5ee39bac3272d3223f8bc66ff5bb48bfd92overview: http://cgit.haiku-os.org/haiku/log/?qt=range&q=ec8fc5e+%5E952aff6----------------------------------------------------------------------------
ec8fc5e: Use uncached memory areas if snooping is not possible * Some chipsets do not support bus-snooping for the HDA data transfers. So, when trying to enable snooping, verify that the setting was accepted. * When snooping is not possible, set memory areas for audio buffers, buffer descriptor lists and command ring-buffers as uncached to ensure memory coherency with the HDA controller. * This fixes KDLs during booting on some systems where snooping is not supported (seen on two systems with AMD chipsets, maybe applies to others as well). After setting up the buffer descriptor list for a stream, it was a gamble whether these writes would be visible to the HDA controller when subsequently enabling the stream. On some boots it was unlucky and then the HDA controller's DMA engine would go haywire and start overwriting random kernel memory with audio input data. The scheduler was usually the first victim and caused page fault KDLs due to corrupted data structures.[ Julian Harnath <julian.harnath@xxxxxxxxxxxxxx> ]
Wow! *Really* nice catch! I wonder if that is what was causing some of the AMD
crashing? -- Alex