1 /* 2 * Copyright (C) 2006 Michael Brown <mbrown (at) fensystems.co.uk>. 3 * 4 * This program is free software; you can redistribute it and/or 5 * modify it under the terms of the GNU General Public License as 6 * published by the Free Software Foundation; either version 2 of the 7 * License, or any later version. 8 * 9 * This program is distributed in the hope that it will be useful, but 10 * WITHOUT ANY WARRANTY; without even the implied warranty of 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 * General Public License for more details. 13 * 14 * You should have received a copy of the GNU General Public License 15 * along with this program; if not, write to the Free Software 16 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 17 */ 18 19 FILE_LICENCE ( GPL2_OR_LATER ); 20 21 #include <gpxe/acpi.h> 22 23 /** @file 24 * 25 * ACPI support functions 26 * 27 */ 28 29 /** 30 * Fix up ACPI table checksum 31 * 32 * @v acpi ACPI table header 33 */ 34 void acpi_fix_checksum ( struct acpi_description_header *acpi ) { 35 unsigned int i = 0; 36 uint8_t sum = 0; 37 38 for ( i = 0 ; i < acpi->length ; i++ ) { 39 sum += *( ( ( uint8_t * ) acpi ) + i ); 40 } 41 acpi->checksum -= sum; 42 } 43