shlw $6, %ax
/* Calculate .data16 segment address */
- subw $_data16_memsz_pgh, %ax
+ subw $_data16_memsz_ppgh, %ax
pushw %ax
- /* Calculate .text16 segment address. Round down to ensure
- * low bits are zero, to speed up mode transitions under KVM.
- */
- subw $_text16_memsz_pgh, %ax
- andb $~0x03, %al
+ /* Calculate .text16 segment address */
+ subw $_text16_memsz_ppgh, %ax
pushw %ax
/* Update FBMS */
/* OK to free memory */
movw %cs, %ax
- addw $_text16_memsz_pgh, %ax
- addw $_data16_memsz_pgh, %ax
+ addw $_text16_memsz_ppgh, %ax
+ addw $_data16_memsz_ppgh, %ax
shrw $6, %ax
movw %ax, %fs:0x13
xorw %ax, %ax
* Values calculated to save code from doing it
*
*/
- _text16_memsz_pgh = ( ( _text16_memsz + 15 ) / 16 );
- _data16_memsz_pgh = ( ( _data16_memsz + 15 ) / 16 );
+ _text16_memsz_ppgh = ( ( ( _text16_memsz + 63 ) / 64 ) * 4 );
+ _data16_memsz_ppgh = ( ( ( _data16_memsz + 63 ) / 64 ) * 4 );
_textdata_memsz_pgh = ( ( _textdata_memsz + 15 ) / 16 );
_textdata_memsz_kb = ( ( _textdata_memsz + 1023 ) / 1024 );
}