mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 02:01:24 +01:00
bitkeeper revision 1.887.1.2 (409a50dbLW3CCQd-ZdsTiKjfkeHXCw)
Fix calculation of TSS offset on SMP systems when creating bounce frame.
This commit is contained in:
1 parent
224a3b68f8
commit
df11d7ef03
2 files changed
+6
-2
No files matched your search
@@ -406,7 +406,11 @@ create_bounce_frame:
|
||||
jz 1f /* jump if returning to an existing ring-1 activation */
|
||||
/* obtain ss/esp from TSS -- no current ring-1 activations */
|
||||
movzwl PROCESSOR(%ebx),%eax
|
||||
shll $8,%eax /* multiply by 256 */
|
||||
/* next 4 lines multiply %eax by 8320, which is sizeof(tss_struct) */
|
||||
movl %eax, %ecx
|
||||
shll $7, %ecx
|
||||
shll $13, %eax
|
||||
addl %ecx,%eax
|
||||
addl $init_tss + 12,%eax
|
||||
movl (%eax),%esi /* tss->esp1 */
|
||||
FAULT6: movl 4(%eax),%ds /* tss->ss1 */
|
||||
|
||||
@@ -375,7 +375,7 @@ struct tss_struct {
|
||||
unsigned short trace, bitmap;
|
||||
unsigned long io_bitmap[IO_BITMAP_SIZE+1];
|
||||
/*
|
||||
* pads the TSS to be cacheline-aligned (size is 0x100)
|
||||
* pads the TSS to be cacheline-aligned (total size is 0x2080)
|
||||
*/
|
||||
unsigned long __cacheline_filler[5];
|
||||
};
|
||||
|
||||