|  | @@ -69,7 +69,7 @@ progress_\@:
 | 
		
	
		
			
			| 69 | 69 |   *   %ds:di : next character in output buffer (if applicable)
 | 
		
	
		
			
			| 70 | 70 |   *****************************************************************************
 | 
		
	
		
			
			| 71 | 71 |   */
 | 
		
	
		
			
			| 72 |  | -	.section ".prefix.lib", "awx", @progbits
 | 
		
	
		
			
			|  | 72 | +	.section ".prefix.print_character", "awx", @progbits
 | 
		
	
		
			
			| 73 | 73 |  	.code16
 | 
		
	
		
			
			| 74 | 74 |  	.globl	print_character
 | 
		
	
		
			
			| 75 | 75 |  print_character:
 | 
		
	
	
		
			
			|  | @@ -107,7 +107,7 @@ print_character:
 | 
		
	
		
			
			| 107 | 107 |   *   %ds:di : next character in output buffer (if applicable)
 | 
		
	
		
			
			| 108 | 108 |   *****************************************************************************
 | 
		
	
		
			
			| 109 | 109 |   */
 | 
		
	
		
			
			| 110 |  | -	.section ".prefix.lib", "awx", @progbits
 | 
		
	
		
			
			|  | 110 | +	.section ".prefix.print_space", "awx", @progbits
 | 
		
	
		
			
			| 111 | 111 |  	.code16
 | 
		
	
		
			
			| 112 | 112 |  	.globl	print_space
 | 
		
	
		
			
			| 113 | 113 |  print_space:
 | 
		
	
	
		
			
			|  | @@ -132,7 +132,7 @@ print_space:
 | 
		
	
		
			
			| 132 | 132 |   *   %ds:di : next character in output buffer (if applicable)
 | 
		
	
		
			
			| 133 | 133 |   *****************************************************************************
 | 
		
	
		
			
			| 134 | 134 |   */
 | 
		
	
		
			
			| 135 |  | -	.section ".prefix.lib", "awx", @progbits
 | 
		
	
		
			
			|  | 135 | +	.section ".prefix.print_message", "awx", @progbits
 | 
		
	
		
			
			| 136 | 136 |  	.code16
 | 
		
	
		
			
			| 137 | 137 |  	.globl	print_message
 | 
		
	
		
			
			| 138 | 138 |  print_message:
 | 
		
	
	
		
			
			|  | @@ -162,7 +162,7 @@ print_message:
 | 
		
	
		
			
			| 162 | 162 |   *   %ds:di : next character in output buffer (if applicable)
 | 
		
	
		
			
			| 163 | 163 |   *****************************************************************************
 | 
		
	
		
			
			| 164 | 164 |   */
 | 
		
	
		
			
			| 165 |  | -	.section ".prefix.lib", "awx", @progbits
 | 
		
	
		
			
			|  | 165 | +	.section ".prefix.print_hex", "awx", @progbits
 | 
		
	
		
			
			| 166 | 166 |  	.code16
 | 
		
	
		
			
			| 167 | 167 |  	.globl	print_hex_dword
 | 
		
	
		
			
			| 168 | 168 |  print_hex_dword:
 | 
		
	
	
		
			
			|  | @@ -210,7 +210,7 @@ print_hex_nibble:
 | 
		
	
		
			
			| 210 | 210 |   *   %ds:di : next character in output buffer (if applicable)
 | 
		
	
		
			
			| 211 | 211 |   *****************************************************************************
 | 
		
	
		
			
			| 212 | 212 |   */
 | 
		
	
		
			
			| 213 |  | -	.section ".prefix.lib", "awx", @progbits
 | 
		
	
		
			
			|  | 213 | +	.section ".prefix.print_pci_busdevfn", "awx", @progbits
 | 
		
	
		
			
			| 214 | 214 |  	.code16
 | 
		
	
		
			
			| 215 | 215 |  	.globl	print_pci_busdevfn
 | 
		
	
		
			
			| 216 | 216 |  print_pci_busdevfn:
 | 
		
	
	
		
			
			|  | @@ -247,7 +247,7 @@ print_pci_busdevfn:
 | 
		
	
		
			
			| 247 | 247 |   *   %ds:di : next character in output buffer (if applicable)
 | 
		
	
		
			
			| 248 | 248 |   *****************************************************************************
 | 
		
	
		
			
			| 249 | 249 |   */
 | 
		
	
		
			
			| 250 |  | -	.section ".prefix.lib", "awx", @progbits
 | 
		
	
		
			
			|  | 250 | +	.section ".prefix.print_kill_line", "awx", @progbits
 | 
		
	
		
			
			| 251 | 251 |  	.code16
 | 
		
	
		
			
			| 252 | 252 |  	.globl	print_kill_line
 | 
		
	
		
			
			| 253 | 253 |  print_kill_line:
 | 
		
	
	
		
			
			|  | @@ -285,7 +285,7 @@ print_kill_line:
 | 
		
	
		
			
			| 285 | 285 |   *   None
 | 
		
	
		
			
			| 286 | 286 |   ****************************************************************************
 | 
		
	
		
			
			| 287 | 287 |   */
 | 
		
	
		
			
			| 288 |  | -	.section ".prefix.lib", "awx", @progbits
 | 
		
	
		
			
			|  | 288 | +	.section ".prefix.copy_bytes", "awx", @progbits
 | 
		
	
		
			
			| 289 | 289 |  	.code16
 | 
		
	
		
			
			| 290 | 290 |  copy_bytes:
 | 
		
	
		
			
			| 291 | 291 |  	pushl	%ecx
 | 
		
	
	
		
			
			|  | @@ -308,7 +308,7 @@ copy_bytes:
 | 
		
	
		
			
			| 308 | 308 |   *   None
 | 
		
	
		
			
			| 309 | 309 |   ****************************************************************************
 | 
		
	
		
			
			| 310 | 310 |   */
 | 
		
	
		
			
			| 311 |  | -	.section ".prefix.lib", "awx", @progbits
 | 
		
	
		
			
			|  | 311 | +	.section ".prefix.zero_bytes", "awx", @progbits
 | 
		
	
		
			
			| 312 | 312 |  	.code16
 | 
		
	
		
			
			| 313 | 313 |  zero_bytes:
 | 
		
	
		
			
			| 314 | 314 |  	pushl	%ecx
 | 
		
	
	
		
			
			|  | @@ -343,7 +343,7 @@ zero_bytes:
 | 
		
	
		
			
			| 343 | 343 |   *   None
 | 
		
	
		
			
			| 344 | 344 |   ****************************************************************************
 | 
		
	
		
			
			| 345 | 345 |   */
 | 
		
	
		
			
			| 346 |  | -	.section ".prefix.lib", "awx", @progbits
 | 
		
	
		
			
			|  | 346 | +	.section ".prefix.process_bytes", "awx", @progbits
 | 
		
	
		
			
			| 347 | 347 |  	.code16
 | 
		
	
		
			
			| 348 | 348 |  process_bytes:
 | 
		
	
		
			
			| 349 | 349 |  
 | 
		
	
	
		
			
			|  | @@ -495,7 +495,7 @@ process_bytes:
 | 
		
	
		
			
			| 495 | 495 |   *   none
 | 
		
	
		
			
			| 496 | 496 |   ****************************************************************************
 | 
		
	
		
			
			| 497 | 497 |   */
 | 
		
	
		
			
			| 498 |  | -	.section ".prefix.lib", "awx", @progbits
 | 
		
	
		
			
			|  | 498 | +	.section ".prefix.install_block", "awx", @progbits
 | 
		
	
		
			
			| 499 | 499 |  	.code16
 | 
		
	
		
			
			| 500 | 500 |  install_block:
 | 
		
	
		
			
			| 501 | 501 |  	/* Preserve registers */
 | 
		
	
	
		
			
			|  | @@ -544,7 +544,7 @@ install_block:
 | 
		
	
		
			
			| 544 | 544 |   *   none
 | 
		
	
		
			
			| 545 | 545 |   ****************************************************************************
 | 
		
	
		
			
			| 546 | 546 |   */
 | 
		
	
		
			
			| 547 |  | -	.section ".prefix.lib", "awx", @progbits
 | 
		
	
		
			
			|  | 547 | +	.section ".prefix.alloc_basemem", "awx", @progbits
 | 
		
	
		
			
			| 548 | 548 |  	.code16
 | 
		
	
		
			
			| 549 | 549 |  	.globl	alloc_basemem
 | 
		
	
		
			
			| 550 | 550 |  alloc_basemem:
 | 
		
	
	
		
			
			|  | @@ -591,7 +591,7 @@ alloc_basemem:
 | 
		
	
		
			
			| 591 | 591 |   *   none
 | 
		
	
		
			
			| 592 | 592 |   ****************************************************************************
 | 
		
	
		
			
			| 593 | 593 |   */
 | 
		
	
		
			
			| 594 |  | -	.section ".text16", "ax", @progbits
 | 
		
	
		
			
			|  | 594 | +	.section ".text16.free_basemem", "ax", @progbits
 | 
		
	
		
			
			| 595 | 595 |  	.code16
 | 
		
	
		
			
			| 596 | 596 |  	.globl	free_basemem
 | 
		
	
		
			
			| 597 | 597 |  free_basemem:
 | 
		
	
	
		
			
			|  | @@ -625,7 +625,7 @@ free_basemem:
 | 
		
	
		
			
			| 625 | 625 |  	ret
 | 
		
	
		
			
			| 626 | 626 |  	.size free_basemem, . - free_basemem
 | 
		
	
		
			
			| 627 | 627 |  
 | 
		
	
		
			
			| 628 |  | -	.section ".text16.data", "aw", @progbits
 | 
		
	
		
			
			|  | 628 | +	.section ".text16.data.hooked_bios_interrupts", "aw", @progbits
 | 
		
	
		
			
			| 629 | 629 |  	.globl	hooked_bios_interrupts
 | 
		
	
		
			
			| 630 | 630 |  hooked_bios_interrupts:
 | 
		
	
		
			
			| 631 | 631 |  	.word	0
 | 
		
	
	
		
			
			|  | @@ -645,7 +645,7 @@ hooked_bios_interrupts:
 | 
		
	
		
			
			| 645 | 645 |   *   none
 | 
		
	
		
			
			| 646 | 646 |   ****************************************************************************
 | 
		
	
		
			
			| 647 | 647 |   */
 | 
		
	
		
			
			| 648 |  | -	.section ".prefix.lib", "awx", @progbits
 | 
		
	
		
			
			|  | 648 | +	.section ".prefix.install", "awx", @progbits
 | 
		
	
		
			
			| 649 | 649 |  	.code16
 | 
		
	
		
			
			| 650 | 650 |  	.globl install
 | 
		
	
		
			
			| 651 | 651 |  install:
 | 
		
	
	
		
			
			|  | @@ -688,7 +688,7 @@ install:
 | 
		
	
		
			
			| 688 | 688 |   *   none
 | 
		
	
		
			
			| 689 | 689 |   ****************************************************************************
 | 
		
	
		
			
			| 690 | 690 |   */
 | 
		
	
		
			
			| 691 |  | -	.section ".prefix.lib", "awx", @progbits
 | 
		
	
		
			
			|  | 691 | +	.section ".prefix.install_prealloc", "awx", @progbits
 | 
		
	
		
			
			| 692 | 692 |  	.code16
 | 
		
	
		
			
			| 693 | 693 |  	.globl install_prealloc
 | 
		
	
		
			
			| 694 | 694 |  install_prealloc:
 | 
		
	
	
		
			
			|  | @@ -751,7 +751,7 @@ install_prealloc:
 | 
		
	
		
			
			| 751 | 751 |  	xorw	%di, %di
 | 
		
	
		
			
			| 752 | 752 |  	call	print_message
 | 
		
	
		
			
			| 753 | 753 |  2:	jmp	2b
 | 
		
	
		
			
			| 754 |  | -	.section ".prefix.data", "aw", @progbits
 | 
		
	
		
			
			|  | 754 | +	.section ".prefix.data.a20_death_message", "aw", @progbits
 | 
		
	
		
			
			| 755 | 755 |  a20_death_message:
 | 
		
	
		
			
			| 756 | 756 |  	.asciz	"\nHigh memory inaccessible - cannot continue\n"
 | 
		
	
		
			
			| 757 | 757 |  	.size	a20_death_message, . - a20_death_message
 | 
		
	
	
		
			
			|  | @@ -780,7 +780,7 @@ a20_death_message:
 | 
		
	
		
			
			| 780 | 780 |  	cli
 | 
		
	
		
			
			| 781 | 781 |  	hlt
 | 
		
	
		
			
			| 782 | 782 |  	jmp	2b
 | 
		
	
		
			
			| 783 |  | -	.section ".prefix.data", "aw", @progbits
 | 
		
	
		
			
			|  | 783 | +	.section ".prefix.data.payload_death_message", "aw", @progbits
 | 
		
	
		
			
			| 784 | 784 |  payload_death_message:
 | 
		
	
		
			
			| 785 | 785 |  	.asciz	"\nPayload inaccessible - cannot continue\n"
 | 
		
	
		
			
			| 786 | 786 |  	.size	payload_death_message, . - payload_death_message
 | 
		
	
	
		
			
			|  | @@ -918,7 +918,7 @@ payload_death_message:
 | 
		
	
		
			
			| 918 | 918 |  	/* Vectors for far calls to .text16 functions.  Must be in
 | 
		
	
		
			
			| 919 | 919 |  	 * .data16, since .prefix may not be writable.
 | 
		
	
		
			
			| 920 | 920 |  	 */
 | 
		
	
		
			
			| 921 |  | -	.section ".data16", "aw", @progbits
 | 
		
	
		
			
			|  | 921 | +	.section ".data16.install_prealloc", "aw", @progbits
 | 
		
	
		
			
			| 922 | 922 |  #ifdef KEEP_IT_REAL
 | 
		
	
		
			
			| 923 | 923 |  init_libkir_vector:
 | 
		
	
		
			
			| 924 | 924 |  	.word init_libkir
 | 
		
	
	
		
			
			|  | @@ -940,7 +940,7 @@ close_payload_vector:
 | 
		
	
		
			
			| 940 | 940 |  	.size close_payload_vector, . - close_payload_vector
 | 
		
	
		
			
			| 941 | 941 |  
 | 
		
	
		
			
			| 942 | 942 |  	/* Dummy routines to open and close payload */
 | 
		
	
		
			
			| 943 |  | -	.section ".text16.early.data", "aw", @progbits
 | 
		
	
		
			
			|  | 943 | +	.section ".text16.early.data.open_payload", "aw", @progbits
 | 
		
	
		
			
			| 944 | 944 |  	.weak	open_payload
 | 
		
	
		
			
			| 945 | 945 |  	.weak	close_payload
 | 
		
	
		
			
			| 946 | 946 |  open_payload:
 | 
		
	
	
		
			
			|  | @@ -963,7 +963,7 @@ close_payload:
 | 
		
	
		
			
			| 963 | 963 |   *   none
 | 
		
	
		
			
			| 964 | 964 |   ****************************************************************************
 | 
		
	
		
			
			| 965 | 965 |   */
 | 
		
	
		
			
			| 966 |  | -	.section ".text16", "ax", @progbits
 | 
		
	
		
			
			|  | 966 | +	.section ".text16.uninstall", "ax", @progbits
 | 
		
	
		
			
			| 967 | 967 |  	.code16
 | 
		
	
		
			
			| 968 | 968 |  	.globl uninstall
 | 
		
	
		
			
			| 969 | 969 |  uninstall:
 |